选择法排序

本题要求将给定的n个整数从大到小排序后输出。

输入格式:

输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。

输出格式:

在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格。

输入样例:

1
2
4
5 1 7 6

输出样例:

1
7 6 5 1

分析:搬出来,放在一个临时的位置,再换个地方再塞回去就可以了
代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<stdio.h>
int main(){
int i,n,m,c,num[1001];//i为循环数,m,n为循环数量设置数, c为change的缩写,意为变化数,num为数组
scanf("%d",&n);
for(i=1;i<=n;i++){//输入数组中的数字
scanf("%d",&num[i]);
}
for(i=1;i<=n;i++){//判断其中的大小顺序是否有误
for(m=i+1;m<=n;m++){
if(num[i]<num[m]){
c=num[i];num[i]=num[m];num[m]=c;//转换式
}
}
}
for(i=1;i<=n-1;i++){//输出排序好了的数组
printf("%d ",num[i]);
}
printf("%d",num[i]);
return 0;
}