#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){ int n,i,q,x,t,a[100]= {0}; while(scanf("%d",&n)!=EOF) { if(n==0)continue; for(i=0; i<n; i++) scanf("%d",&a[i]); q=a[0]; x=a[0]; for(i=1; i<n; i++) if(a[i]<x) { x=a[i]; t=i; } a[0]=x; a[t]=q; for(i=0; i<n; i++) { if(i==0)printf("%d",a[i]); else printf(" %d",a[i]); } printf("\n"); } return 0;}
0不是跳过了吗?
追答人家的输出没有0的,你输出0了就错误了。机器检查永远不是人那么智能。
追问是把if0去掉吗,怎么改啊?
追答遍历a[i]得到后的值,然后最后判断是否有0 ,有0就直接删掉就好。