PTA 习题7-1 选择法排序 (20分)

    技术2025-10-06  4

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

    输入格式:

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

    输出格式:

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

    输入样例1:

    4 5 1 7 6

    输出样例1:

    7 6 5 1

    答案代码块

    #include <stdio.h> int main(){ int n,m=0,x=0; int i,l; int s[10]={0}; scanf("%d",&n); for(i = 0 ; i < n;i++){ scanf("%d",&s[i]); } for(i = 0 ; i < n ; i++){ int cnt=-1; //-1的目的也是为了下面如果当前位数字最大则不交换位置 m=s[i]; for(l=i+1;l<n;l++){ if(s[l]>m){ //判断m为最大数字 m=s[l]; cnt=l; } } if(cnt!=-1) { //交换 x=s[cnt]; s[cnt]=s[i]; s[i]=x; } } printf("%d",s[0]); for(i = 1 ; i < n ; i++){ printf(" %d",s[i]); } return 0; }
    Processed: 0.009, SQL: 10