C语言编程计算100-1000之间有多少个数,其各位数字之和是5,请给出每行的解释

如题所述

其实这个问题应该是考察你对于多位数的每一位提取,100-999(1000就不说了)的话,先随便拿一个数,比如123,先定义用来表示各个位的数
int ge,shi,bai;
bai = 123/100; //因为都是int整形,所以123/100并不是1.23而是1,而且不遵循四舍五入,比如299/100 = 2;
shi = (123/10)%10; // 首先123/10=12,然后12%10=2,%是取余运算符
ge = 123%10; //123对10取余就是12个10,余下3
//这样就把每一位的数字提取出来了,接下来是实际的代码
int i,ge,shi,bai; // i用来循环
for(i=100;i<1000;i++) //用for循环把100到999循环一遍
{
bai = i / 100;

shi = (i / 10) % 10;

ge = i%10;

//这三行看不懂就看上边的解释

if(bai+shi+ge==5) //if用来判断他们的和是不是5,如果是那就执行if里面的语句

{
printf("%d ",i); //如果符合条件就输出那个数

}
}追问

/*以下程序为输入100~1000之内各位数和为5的数*/
#include
main()
{
int a,b,c,geshu=0;
/*定义整型变量a为这些数*/
for(a=100;a0)
{
c=c+b%10;
b=b/10;
}
if(c==5)
{
geshu++;
printf("%d\n",a);
}
}
printf("个数为:%d",geshu);
}

可以告诉我这个源程序的思路吗?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-12-07
104
113
122
131
140
203
212
221
230
302
311
320
401
410
500
第2个回答  2016-12-07
900个
相似回答