本题要注意最小的值不止一个。
#include<stdio.h> int main() { int a[100],n,k,i; while(scanf("%d",&n)!=EOF && n) { for(i=0;i<n;i++) scanf("%d",&a[i]); int min=a[0],k=0; for(i=0;i<n;i++) { if(a[i]<=min) { min=a[i]; } } for(i=0;i<n;i++) { if(a[i]==min) { a[i]=a[0]; } } a[0]=min; for(i=0;i<n;i++) { if(i!=n-1) printf("%d ",a[i]); else printf("%d\n",a[i]); } } return 0; } #include<stdio.h> int main() { int