怎么编啊,能不能教我一下

编写一个程序:从键盘输入一个整型数,把这个数的各位数按降序输出。例如,输入34125,输出54321

这里假设输入非负

#include <iostream>
#include <stdio.h>
using namespace std;

int main()
{
    int i,j,n;
    int a[10] = {0};
    cin >> n;
    while(n > 0){
        a[n % 10] ++;
        n /= 10;
    }

    for(i = 9;i >= 0;i--){
        if(a[i] > 0){
            for(j = 0;j < a[i];j++){
                cout << i;
            }
        }
    }
    return 0;
}

拿到整型数 先转成字符串 循环截取 再转成数字存进数组里 排序