用do...while语句实现:求100~1000之间有多少个整数,其各位数字之和为5

2024-12-16 10:54:05
推荐回答(4个)
回答1:

给你个思路吧 将100—1000中间的数拆为个位,十位,百位,判断这三个相加等于5成立就num++;就可以了。
unsigned char num=0,ge,shi,bai,a;
for(i=100;i<1000;i++)
{
bai=i/100;
shi=i%100/10;
ge=i%10;
a=shi+ge+bai;
if(a==5)num++
}
最后输出num就行了 我是用for写的 do while 也类似 希望能帮到你。

回答2:

n=100;
i=0; //计数器,记录满足条件的整数的个数,初始为0
do {
//先提取各位数字
b=n/100; //百位
s=(n-b*100)/10; //十位
g=n-b*100-s*10; //个位
if ((b+s+g)=5) {i++;}
n++;
}while(n<1000)
printf("%d",i);

回答3:

int i,hun,ten,data,cnt;
cnt=0;
i=100;
do
hun=i/100;
ten=i%100/10;
data=i%10;
if(hun+ten+data==5)
cnt++;
i=i+1;
while i<1000;
print("%d",cnt);

回答4:

#include

void main()
{

int i=999;

int b[3];

int n = 0;

do
{
int a = i;

do
{
b[n] = a%10;

n++;

a = a/10;

} while (a);

n = 0;

if(b[0]+b[1]+b[2]==5)
{
printf("%d ",i);
}

} while (--i&&i>=100);

}