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

题目6:数字排序
问题描述
  给定n个整数,请计算每个整数各位数字和,按各位数字和从大到小的顺序输出。
输入格式
  输入的第一行包含一个整数n,表示给定数字的个数。
  第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。
输出格式
  输出多行,每行包含两个整数,分别表示一个给定的整数和它的各位数字和。按各位数字和递减的顺序输出。如果两个整数各位数字和相同,则先输出值较小的,然后输出值较大的。
样例输入
5
101 100 999 1234 110
样例输出
999 27
1234 10
101 2
110 2
100 1
评测用例规模与约定
  1 ≤ n ≤ 1000,给出的数都是不超过10000的非负整数。

第1个回答  2019-11-12
#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;}本回答被网友采纳

C语言编程题,都是基础的,望达人解答。
int a,b;scanf("%d%d",&a,&b);printf("a+b=%d",a+b);} 2.main(){ int a,b;scanf("%d%d",&a,&b);if(a>b)printf("最小值是%d",b);if(a<b)printf("最小值是%d",a);if(a==b)printf("两个值相等");} 3.main(){ int a,b;scanf("%d%d",&a,&b);printf("交...

求大神,C语言编程求,100以内两个数,和差都是平方数,不要思路,要程序...
include<stdio.h>\/*假设这两个数为x,y; x+y=a,x-y=b;a、b都是平方数 *可得x=(a+b)\/2,y=(a-b)\/2 *因为x必须是在100以内,所以a的范围是200以内的平方数(b为0的时候) *x,y必须是整数,所以a和b必须同奇同偶,观察数组可知奇偶数互相间隔, *所以j每次循环+2 *\/int main()...

C语言编程问题:第一个,计算200到500之间所有能被7整除的整数的和...
{ long i,temp=0;for(i=200;i<501;i++)if(i%7==0)temp=temp+i;return temp;} 直接调用这个函数就好了

C语言,大神详细讲下图中为啥这么做,谢谢谢谢。
c=a,即c被赋值a的值,所以c=10 所以最后a=10,b=20,c=10

C语言的一道填空题,求答案谢谢谢谢,可以解答吗?
第一个空填 b*b-4*a*c<0 第二个空填 (-b-sqrt(b*b-4*a*c))\/(2*a)完整的求一元二次方程的根的C语言程序如下 运行结果

用C语言编程求1234四个数能组成多少互不相同且不重复的三位数
互不相同且不重复的三位数,即i不等于j且j不等于k且i不等于j,用C语言逻辑表达式描述为:i!=j&&j!=k&&i!=k三个位置,每一个位置有1、2、3、4,四种可选值,因此其排列数为4^3 = 64种排列组合方法,三个位置互不相同,按分步乘法原理得一共有4x3x2 = 24种排列方法。编写示例代码如下:...

c语言问题...
int a = 1;int fun(int b){static int c = 2;\/\/局部变量c为静态变量,因此只做一次初始化,且c在函数执行完以后不清楚。c += b;a = c;printf("c=%d\\n", c);return c;}int main (){int x = 3;\/\/第一次调用fun(a),a为1,c输出3.\/\/第二次抵用fun(x + 3),3来源于...

求助C语言达人:编程输出100到200间能被7整除的整数,要求每行输出5个数...
先从100开始增1寻求第一个被7整除的数,然后从这个数开始增7逐一输出,直到大于200停止。另用一变量从0开始每输出一个数增1,能被5整时增加输出一个回车就能满足题目要求。代码如下:include "stdio.h"int main(int argc,char *argv[]){int i,t;for(i=100;i%7;i++);\/\/从100开始增1穷举...

一个C语言问题的输出问题s *= n%10 ; n \/= 10 ; 都是干嘛的? 请详细解 ...
s *= n%10 ; n \/= 10 ;展开写就是:s=s*(n%10);\/\/其中n%10是用n除以10取其余数 n=n\/10;\/\/其中n\/10是用n除以10取其整数部分 相信你已清楚了……答案自然是24,所以C正确。

【求高人解答c语言】 编程只保留一个空白符
fputc(d,out); } } else fputc(c,out); } fclose(in); fclose(out); return 0;}注释部分存在问题,测试结果如下:注意还有一个问题就是末尾的一个空格我不知道要不要删掉,你看看。

相似回答