7-12 排序 (10 分)
输入数据个数n及n个整数构成整数序列,要求对该整数序列进行排序,使其按升序排列。
输入格式:测试数据有多组,处理到文件尾。每组测试输入两行,第一行输入n(1 对于每组测试,在一行上按升序输出这n个整数,每两个数据之间留一个空格。 #include } 欢迎分享,转载请注明来源:内存溢出10
487 3633 410 4977 940 757 124 392 989 4228
输出样例:
124 392 410 487 757 940 989 3633 4228 4977
int main()
{
int n;
int i,j,k,a[100],t;
while(scanf("%d",&n)!=EOF)//可以连续输入多组数据
{
for(i=0;i
scanf("%d",&a[i]);
}
for(i=0;i
k=i;
for(j=i+1;j
if(a[k]>a[j]) k=j;//把每次比较的最小项的序号赋给k
}
if(k!=i)//如果最小项不是a[i]而是a[k](也就是每次比较的最小项a[j])
{
t=a[k];
a[k]=a[i];
a[i]=t;//进行交换
}
for(i=0;i
printf("%d",a[i]);
if(i!=n-1) printf(" ");
}
printf("n");
}
}
评论列表(0条)