3位数水仙花数 C语言的问题

#include<stdio.h>voidmain(){inta50,a20,a10,a5;a50=1;while(a50<10&&a50>0){a20=1;while(... #include<stdio.h> void main () { int a50,a20,a10,a5; a50=1; while(a50<10&&a50>0) { a20=1; while(a20<25&&a20>0) { a10=1; while(a10<50&&a10>0) { a5=30-a50-a20-a10; if(a50*50+a20*20+a10*10+a5*5==500&&a5>0) printf("a50=%d,a20=%d,a10=%d,a5=%d\n",a50,a20,a10,a5); a10++; } a20++; } a50++; } } ======================================================= 为什么输出不了结果 哪里错了呢 展开
 我来答
鱼如伊隽美
2019-12-29 · TA获得超过3714个赞
知道大有可为答主
回答量:3166
采纳率:34%
帮助的人:189万
展开全部
你有些语句位置放错了已帮你修改好了,可以通过运行
#include<stdio.h>
void
main
()
{
int
a,b,c,e,a3,b3,c3;
a=1;
while(a<=9)
{
b=0;
while(b<=9)
{
c=0;
while(c<=9)
{a3=a*a*a;
b3=b*b*b;
c3=c*c*c;
e=a*100+b*10+c;
if(e-a3-b3-c3==0&&e>=100&&e<=999)
printf("%d=%d+%d+%d\n",e,a3,b3,c3);
c++;
}
b++;
}
a++;
}
}
我还有两种方法:(不过本质都一样)
1.
#include<stdio.h>
void
main()
{
int
i,j,k;
for(i=1;i<=9;i++)
{for(j=0;j<=9;j++)
{for(k=0;k<=9;k++)
if((i*i*i+j*j*j+k*k*k)==(i*100+j*10+k))
printf("%d\n",i*100+j*10+k);}
}
}
2.
#include
<stdio.h>
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");
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式