Problem B: 简单的整数排序
Time Limit: 1 Sec Memory Limit: 2 MB
Submit: 17481 Solved: 9408
[Submit][Status]
Description
对给出的若干整数按从小到大排序。
Input
输入的第一个数为n(n<=1000),后接n个整数。
Output
按从小到大的顺序输出这些整数,每两个整数之间用一个空格分隔开,最后一个整数后面没有空格。
Sample Input
10 3 9 1 5 2 8 5 6 7 3
Sample Output
1 2 3 3 5 5 6 7 8 9
HINT
排序前必须把所有的整数都存储下来。因为只有最多1000个数,1秒的时间足够任何排序算法运行处结果来。
Append Code
#include<stdio.h>
int main()
{
int n,a[1001],temp,i,j;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
for(j=1;j<n;j++)
{
for(i=0;i<n-j;i++)//优化时间;每一次循环使一个最大的数沉到最下面;
{
if(a[i]>a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
}
printf("%d",a[0]);
for(i=1;i<n;i++)
{
printf(" %d",a[i]);
}
return 0;
}