深夜赶编程作业,有没有大佬来相助!!

试题描述

由键盘上输入n个整数,请将这些数从大到小排序,然后输出排序后的数列。

输入

输入包含两行:
第一行是n(1 <= n <= 1000)。
第二行是n个整数,邻近两数之间用一个空格隔开。

输出

输出排序后的n个整数,邻近两数之间用一个空格隔开。

输入示例

5
8 2 5 1 2

输出示例

8 5 2 2 1

数据范围

输入和输出均为int范围的整数

又是你.

 #include<iostream>
using namespace std;
int main() {
    int n,tmp;
    cin >> n;
    int *a = new int[n];
    for (int i = 0; i < n; i++)
        cin >> a[i];
    for (int i = 0; i < n - 1; i++) {       //冒泡排序
        for (int j = i + 1; j < n; j++) {
            if (a[i] < a[j]) {
                tmp = a[i];
                a[i] = a[j];
                a[j] = tmp;
            }
        }
    }
    for (int i = 0; i < n; i++) {
        cout << a[i];
        if (i != n - 1)
            cout << " ";
    }
    return 0;
}