实验7-1-5 选择法排序 (20分)

    技术2025-11-18  24

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

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

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

    输入样例: 4 5 1 7 6 输出样例: 7 6 5 1

    #include<stdio.h> #define maxn 10 void swap(int *a,int *b); int main() { int n,a[maxn]; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&a[i]); } for(int i=0;i<n-1;i++){ int max=i; for(int j=i+1;j<n;j++){ if(a[j]>a[max]){ max=j; } } if(i!=max){ swap(&a[i],&a[max]); } } for(int i=0;i<n;i++){ printf("%d",a[i]); if(i==n-1) printf("\n"); else printf(" "); } return 0; } void swap(int *a,int *b){ int t=*a; *a=*b; *b=t; }
    Processed: 0.020, SQL: 10