给你个思路吧 将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 也类似 希望能帮到你。
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);
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);
#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);
}