top1编程
← 返回题目
题解

【入门】编程输入10个正整数,然后自动按从大到小的顺序输出

1 条题解

  • 0
    @ 2026-7-30 1:34:14

    解题思路

    用交换排序把十个数从大到小排列,然后依次输出。

    参考代码

    // 先读入题目给出的数据。
    // 再按照题目要求进行计算。
    // 最后按规定格式输出答案。
    #include <iostream>
    using namespace std;
    int main() {
        int a[10];
        // 读入十个数。
        for (int i = 0; i < 10; i++) cin >> a[i];
        // 每次找出较大的数放到前面,得到从大到小的顺序。
        for (int i = 0; i < 10; i++) for (int j = i + 1; j < 10; j++) if (a[i] < a[j]) { int t = a[i]; a[i] = a[j]; a[j] = t; }
        for (int i = 0; i < 10; i++) cout << a[i] << (i == 9 ? '\n' : ' ');
        return 0;
    }
    

    复杂度分析

    排序需要 O(n^2) 时间;其余循环按照实际遍历次数计算。代码使用固定大小数组,额外空间复杂度为 O(1) 或 O(n)。

    • 1