c语言编程

c语言中的水仙花数的编写main(){inta,b,c;for(a=1;a<=9;a++)for(b=0;b<=9;b++)for(c=0;c<=9;c++)if(100... c语言中的水仙花数的编写
main()
{int a,b,c;
for(a=1;a<=9;a++)
for(b=0;b<=9;b++)
for(c=0;c<=9;c++)
if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)
printf("%d%d%d\n",a,b,c);
}
请问在这个编程中求的是3位数的水仙花数吗?
还有请问下for(c=0;c<=9;c++)中的c<=9不满足是去执行下一个语句,请问下一个语句是不是for(b=0;b<=9;b++)中的b++
展开
 我来答
爱情不过岗
2008-09-12 · 超过16用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:0
展开全部
是求水仙花数的,也可以可以说不是,因为这个程序求出来的是a,b,c三个数字,分别是水仙花书的百位、十位、个位上的数字。

下面这个程序好点

main()
{
int i,j,k,n;
printf("'water flower'number is:");
for(n=100;n<1000;n++)
{
i=n/100;/*分解出百位*/
j=n/10%10;/*分解出十位*/
k=n%10;/*分解出个位*/
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
{
printf("%-5d",n);
}
}
printf("\n");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lilei_ll_ii
2008-09-12 · TA获得超过446个赞
知道小有建树答主
回答量:348
采纳率:100%
帮助的人:336万
展开全部
把你这程序加几个括号就明白了
main()
{ int a,b,c;
for(a=1;a<=9;a++)
{ for(b=0;b<=9;b++)
{ for(c=0;c<=9;c++)
if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)
printf("%d%d%d\n",a,b,c);
}
}
} 这是标准的FOR嵌套语句,只要你明白FOR语句的流程就应该能看明白吧
还有你这个语句是把百位,十位,个位分开来输出,从结果上看是没错的,
但是实际上他是3个数.而不是一个3位数,如果最后改一下:
printf("%d\n",100*a+10*b+c);这样输出的就是一个百位数啦
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
szy1_119
2008-09-12 · TA获得超过1056个赞
知道小有建树答主
回答量:454
采纳率:0%
帮助的人:0
展开全部
1.是,求1000以内的水仙花数。
2.不是,是先去求此for循环内的其他语句,最后求c++,比如
for(c=0;c<=9;c++)
{
xxx;
yyy;
zzz;
}
如c<=9不满足则每次循环计算顺序如下:
xxx;
yyy;
zzz;
c++;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangzhewudi45
2008-09-12
知道答主
回答量:31
采纳率:0%
帮助的人:0
展开全部
求出来的是水仙花数
水仙花数是各位数的立方之和等于它本身的数
通过a,b,c来生成一个三位数,将它们中间不带符的输出就相当于是一个三位数了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
明月枫林
2008-09-12
知道答主
回答量:7
采纳率:0%
帮助的人:0
展开全部
求的是满足a、b、c的立方和等于三位数abc的数。不知道是不是你所说的水仙花数。
第二问,系统先执行C循环,然后执行B循环,最后再执行A中循环。由内而外依次进行程序运行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式