蓝桥杯--基础训练 数列排序

数列排序(题解)

给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200

输入格式:

第一行为一个整数n。

第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。

输出格式:

输出一行,按从小到大的顺序输出排序后的数列。

输入样例:

1
2
5
8 3 6 4 9

输出样例:

1
3 4 6 8 9

我的代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include<stdio.h>
int A[10000];
int main()
{
int n;
scanf("%d",&n);
for(int i=0;i<n;i++)
scanf("%d",&A[i]);
for(int i=0;i<n-1;i++) //选择排序
{
int k=i;
for(int j=i;j<n;j++)
if(A[k]>A[j])
k=j;
if(k!=i)
{
int temp=A[k];
A[k]=A[i];
A[i]=temp;
}
}
for(int i=0;i<n;i++) //注意输出格式
{
if(i==n-1)
printf("%d\n",A[i]);
else
printf("%d ",A[i]);
}
return 0;
}
小礼物走一个哟
0%