c语言 输出所有水仙花数

2020-06-20 教育 67阅读

在第一个for循环前面给s赋值时,a、b、c的值没有初始化,所以整个s=100*a+10*b+c是不确定的值,程序运行便会出错!

建议修改:将语句s=100*a+10*b+c放到条件语句if(s==(a*a*a+b*b*b+c*c*c))之前,这样s得到的是确定值,程序运行正常。

修改后源程序如下:

#include "Stdio.h"

void main()

{

int a,b,c,s;

for(a=1;a<10;a++)

{

for(b=0;b<10;b++)

{

for(c=0;c<10;c++)

{

s=100*a+10*b+c;

if(s==(a*a*a+b*b*b+c*c*c))

printf("%d\n",s);

}

}

}

getchar();

}

程序运行结果见插图。

声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com