这是水仙数的C++语言,请问哪里错了
#include <stdio.h>
int main()
{
int x,y,z;
for (x=1;x<=9;x++)
for (y=0;y<=9;y++)
for (z=0;z<=9;z++)
if(x*100+y*10+z==x*x*x+y*y+z)
printf("%d ",x*100+y*10+z);
return 0;
}
对水仙数的判断应改为:if(x*100+y*10+z==x*x*x+y*y*y+z*z*z),
改后的程序与运行结果如下:
#include <stdio.h>
int main()
{
int x,y,z;
for (x=1;x<=9;x++)
for (y=0;y<=9;y++)
for (z=0;z<=9;z++)
if(x*100+y*10+z==x*x*x+y*y*y+z*z*z)
printf("%d
",x*100+y*10+z);
return 0;
}
应该是没有错的
放两个等号合适么?
因为在循环体内xyz取值范围不能满足if语句给出的条件,所以没有任何输出。
则个if是不是永远不会实现了
上一篇:高端移动硬盘,有没有推荐一下的?
热门标签: