求改错,题目如下:求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
");
}
else{
printf("%d
",min2);
}
}
return 0;
}声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。
