计算100至1000之间有多少个数其各位数字之和是5。用C语言编程做,希望有哪位懂得C语言的帮一下忙,谢谢!

最好是用for循环语句,
2024-11-08 11:56:42
推荐回答(4个)
回答1:

#include "stdio.h"
main()
{
int a,b,c,x,y;
for(x=100;x<=500;x++)
{
y=x;
a=y%10;
y/=10;
b=y%10;
y/=10;
c=y%10;
if(a+b+c==5)
printf("%d ",x);
}
printf("\n");
}

回答2:

楼主是想打印出100-1000之间符合条件的这些数呢?还是计算有多少个这样的数?
#include
int main(void)
{
int i,h=0;
printf("\nAll the number is:\n"); /*打印出所有符合条件的数*/
for(i=100;i<1000;i++)
if(i/100+i%100/10+i%10==5)
{
h++;
printf("%d\t",i);
}
printf("\nThe total number is:%d\n",h); /*打印出一共有多少个这样的数*/
getch();
return 0;
}

回答3:

jAVA编的,你自己改编把
为了5分,累死了

int count=0;//计数器
for(int i=100;i<1000;i++)
{int bai=i/100;
int shi=(i-bai*100)/10;//百位数
int ge=i-bai*100-shi*10;//十位数
int sum=bai+shi+ge;//个位数
if(sum==5)
{count++;
System.out.print(i+" ");}}
System.out.println();
System.out.print("共有"+count+"个");

回答4:

这其实就是一个穷举
……
int i,j,k;
for(i=1;i<=5;i++)
{
for(j=1;j<=5-i;j++)
{
k=5-i-k;
输出 i*100+j*10+k;
//如果需要计数,计数器加1
}
}
……
本来还可以继续优化,不过感觉有点脑子不够用的,先这样吧。