关于数组的选择法排序

东软学习小组成员:时雾
选择法排序

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

输入格式:

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

输出格式:

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

输入样例:

4
5 1 7 6

输出样例:

7 6 5 1

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

#include
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;
}

你可能感兴趣的:(PTA课后练习1)