求改错,题目如下:求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。