长安城商人王掌柜收到来自 6 个西域国家的货物,重量记录在数组 weights 中,每件货物重量大于 0,且 6 个货物的重量不相同。王掌柜想知道最重和次重的货物重量,以便决定将最重的作为“样品”展示,次重的作为“备用样品”。以下程序段可以正确求出最重重量(max1)和次重重量(max2)的有?
int max1 = weights[0], max2 = weights[0];
for(int i=1; i<6; i++) {
if(weights[i] > max1) {
max2 = max1;
max1 = weights[i];
}
else if(weights[i] > max2) {
max2 = weights[i];
}
}
int max1 = weights[0], max2 = weights[1];
if(max1 < max2) swap(max1, max2);
for(int i=2; i<6; i++) {
if(weights[i] > max1) {
max2 = max1;
max1 = weights[i];
}
else if(weights[i] > max2) {
max2 = weights[i];
}
}
int max1 = weights[0], max2 = weights[0];
for (int i=1; i<6; i++) {
if(weights[i] > max1) max1 = weights[i];
if(weights[i] > max2 && weights[i] != max1) max2 = weights[i];
}
int max1=0, max2=0;
for (int i=0; i<6; i++) {
if(weights[i] > max1) {
max1 = weights[i];
}
}
for (int i=0; i<6; i++) {
if(weights[i] > max2 && weights[i] != max1) {
max2 = weights[i];
}
}