求改错,题目如下:求n个整数中第二小的数。 相同的整数看成一个数。比如,有5个数分别是1,1,3,4,5,那么第二小的数就是3。
#include <stdio.h>int main(){
int C, n, a[10], min, t, d, i, min2;
scanf("%d", &C);
while(C--){
scanf("%d",&n);
d = 0;
scanf("%d",&min);
for( i=0; i<n-1; i++ ){
scanf("%d",&a[i]);
if(min != a[i]){
d++;
}
if(min > a[i]){
t = min;
min = a[i];
a[i] = t;
}
}
min2 = a[1];
for( i=0; i<n-i; i++ ){
if(a[i]==min){
continue;
}
if(min2 > a[i]){
t = min2;
min2 = a[i];
a[i] = t;
}
}
if(d==0){
printf("NO\n");
}
else{
printf("%d\n",min2);
}
}
return 0;
}