求100~1000之间有多少个数,其各个数字之和为5,例如203。(用c语言编写)

 我来答
百度网友9ae9225
2014-03-06
知道答主
回答量:14
采纳率:0%
帮助的人:11.2万
展开全部
#include <stdio.h>
int main(void)
{
int i,first,second,third,sum;
for(i=100;i<1000;i++)
{
first=i/100; //取出第一位数
second=i/10%10; //取出第二位数
third=i%10; //取出第三位数
sum=first+second+third; //三位数的总和
if(sum==5) /判断
printf("%4d",i);
}

return 0;
}
heart旧时月色
2014-03-06
知道答主
回答量:7
采纳率:0%
帮助的人:4.3万
展开全部
#include <stdio.h>
int main()
{
int i,instead,sum,num=0;
for(i=100;i<1000;i++)
{
sum=0; /*sum表示这个数的各个位数的数之和*/
instead=i;
while (instead>0) /*while循环把一个数的各个位数相加,无论这个数是几位的都行,包括了 1000这个四位数的特殊情况*/
{
sum+=instead%10;
instead/=10;
}

if(sum==5) /*满足条件的数的个数存放在num里面,如果要显示满足条件的数,可以在这里把i打印出来*/
num++;

}

printf("这里有%d个满足条件的数。\n",num);
return 0;

}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Rankabc
2014-03-06 · TA获得超过3559个赞
知道大有可为答主
回答量:3705
采纳率:59%
帮助的人:1024万
展开全部
#include <stdio.h>
int main()
{
int i,j,n,s,a[3];
for(i=100;i<1000;i++)
{
n=i;
s=0;
j=0;
while(n!=0)
{
    a[j]=n%10;
s=s+a[j];
j++;
n=n/10;
}
if(s==5)
{
for(j=2;j>=0;j--)
printf("%d ",a[j]);
printf("\n");
}
}
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式