求水仙花问题,运行结果怎么这么乱

img

img

if最后面那里多了个分号,把分号去掉,
顺便%d改成%3d 生成点间隙
三位数水仙花没那么多

你换行符打一下就行
printf("%d\n",i);

把if后面的分号去掉,都是它惹得祸啊!
使得if语句白瞎了,成了摆设
printf("%d\n",i);
或者
printf("%d ",i);
或者
printf("%5d",i);
两个数之间总得分开一点才好啊

你好同学,你的个和百错了帮你改正如下:

ge = i%10; //取余数
shi = (i/10)%10; //取十位
bai = i/100; //这是百位数

然后if语句那一行后面不要加分号
然后输出的话改成:

printf("%d ",i);

首先你没有换行符
其次你的输出写进循环里面了,那肯定一大堆输出了
你应该只输出最终结果,最多加几个关键环节,不要都输出