题目:
2016题代码:
#include<stdio.h>
int n,a[105],i,min,flag,t;
int main()
{
while(~scanf("%d",&n))
{
if(n==0)
return 0;
scanf("%d",&a[0]);
min=a[0];
flag=0;//记住归零!!!
for(i=1;i<n;i++)
{
scanf("%d",&a[i]);
if(min>a[i])
{
min=a[i];
flag=i;
}
}
if(flag!=0)
{
t=a[flag];
a[flag]=a[0];
a[0]=t;
}
for(i=0;i<n;i++)
{
if(i!=0)
printf(" ");
printf("%d",a[i]);
}
printf("\n");
}
return 0;
}
注意:只要用if改过的地方要考虑第二次循环后,是否归为原处,在这道题就是min与flag的归零问题!!!
网友评论