#include <stdio.h>int main(){ //定义三位数num,个位数sd,十位数td,百位数hd int num, sd, td, hd; //循环所有三位数 for( num=100 ;num<1000 ; num++ ) { //获取三位数字num百位上的数字 hd = num/100 ; //获取三位数字num十位上的数字 td = (num%100)/10 ; //获取三位数字num个位上的数字 sd = num%10 ; //水仙花数的条件是什么? if(num==hd*hd*hd+td*td*td+sd*sd*sd) ; { printf("水仙花数字:%d\n", num); } } return 0; }
1 回答
已采纳
火丁啊
TA贡献14条经验 获得超6个赞
if(num==hd*hd*hd+td*td*td+sd*sd*sd) ;
这行if后面是不可以分号的,如果分号了就相当于没有判断为true后执行的代码块,所以后面的printf都在一直执行。
- 1 回答
- 1 关注
- 1032 浏览
添加回答
举报
0/150
提交
取消