其实这个问题应该是考察你对于多位数的每一位提取,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); //如果符合条件就输出那个数
}
}
104
113
122
131
140
203
212
221
230
302
311
320
401
410
500
900个