题目描述
将每组整数按各位数字和的大小进行排序输出。数字和排序是指,如果两个整数的数字和不相等,则数字和大者排在前,若数字和相等,则整数值大者排在前。
输入
输入一些整数组,第一个数N表示该数组有N个数,随后输入N个整数(0<N<=999)。若N为0,则程序运行结束。
输出
按所给的比较方法从大到小的顺序输出N个整数,每个数之间用一个空格隔开,行末无空格。
样例输入
5 35 27 88 61 23 8 11 45 54 31 24 76 999 1000 0
样例输出
88 27 35 61 23 999 76 54 45 24 31 11 1000
这题的思路就是先把数组转化为数字和然后判断大小什么的。下面是代码
#include <stdio.h>
int main(){
int a[1000],d[1000];
int n,b,c,sum;
while(scanf("%d",&n)==1&&n!=0){
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
for(int i=0;i<n;i++){
sum=0;
b=a[i];
while(b>0){
c=b%10;
sum+=c;
b