目录
题目描述
输入描述
输出描述
解析
完整代码
描述
输入n个不超过30000的整数(n≤10)。然后求出每个数的数字和,再按每个数的数字和由小到大排列输出。
输入描述
第一行为整数n;
第二行为n个整数
输出描述
由小到大排列的每个数的数字和(每个数之间保留一个空格)
用例输入 1
4 33 104 87 16
用例输出 1
5 6 7 15
这题先求出每个数的数位之和,再进行冒泡排序就行了;
下面出示代码:
#include <bits/stdc++.h>
using namespace std;
int main() {
int n,x,a[30001],sum=0;
cin>>n;
for(int i=1;i<=n;i++){
cin>>x;
while(x>0){
a[i]=a[i]+x%10;
x/=10;
}
}
for(int i=n;i>=1;i--){
for(int j=1;j<=i-1;j++){
if(a[j]>a[j+1]) swap(a[j],a[j+1]);
}
}
for(int i=1;i<=n;i++) cout<<a[i]<<' ';
return 0;
}