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

输入格式:

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

输出格式:

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

输入样例:

4
5 1 7 6

输出样例:

7 6 5 1
#include<stdio.h>
int main()
{
    int n, i, j, temp;
    int a[10];
    scanf("%d", &n);
    for (i = 0;i < n;i++)
    {
        scanf("%d", a + i);
    }
    for (i = 0;i < n;i++)
    {
        for (j = i;j < n;j++)    //每趟找出最大
        {
            if (a[i] < a[j + 1])
            {
                temp = a[i];
                a[i] = a[j + 1];
                a[j + 1] = temp;
            }
        }
        printf("%d ", a[i]);     //输出
    }
    return 0;
}

 题目源自PAT

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐