C语言编程问题,求解答,谢谢谢谢?

题目6:数字排序问题描述给定n个整数,请计算每个整数各位数字和,按各位数字和从大到小的顺序输出。输入格式输入的第一行包含一个整数n,表示给定数字的个数。第二行包含n个整数... 题目6:数字排序
问题描述
  给定n个整数,请计算每个整数各位数字和,按各位数字和从大到小的顺序输出。
输入格式
  输入的第一行包含一个整数n,表示给定数字的个数。
  第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。
输出格式
  输出多行,每行包含两个整数,分别表示一个给定的整数和它的各位数字和。按各位数字和递减的顺序输出。如果两个整数各位数字和相同,则先输出值较小的,然后输出值较大的。
样例输入
5
101 100 999 1234 110
样例输出
999 27
1234 10
101 2
110 2
100 1
评测用例规模与约定
  1 ≤ n ≤ 1000,给出的数都是不超过10000的非负整数。
展开
 我来答
猴子技术宅
2019-11-12 · 我不入地狱,谁入地狱
猴子技术宅
采纳数:87 获赞数:578

向TA提问 私信TA
展开全部
#include<stdio.h>int main(){ int n,m,k,t,i,j; int a[1000],b[1000]={0}; while(scanf("%d",&n),n) { for(i=0;i<n;i++) { scanf("%d",&a[i]); m=a[i]; do { b[i]=b[i]+m%10; m=m/10; }while(m!=0); } for(i=0;i<=n-2;i++) { k=i; for(j=i+1;j<=n-1;j++) if(b[k]>b[j]) k=j; if(k!=i) {t=a[k];a[k]=a[i];a[i]=t; t=b[k]; b[k]=b[i]; b[i]=t;} } for(i=0;i<n-1;i++) printf("%d ",a[i]); printf("%d\n",a[n-1]); } return 0;}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式