为了账号安全,请及时绑定邮箱和手机立即绑定

谁能解释一下为什么这样写吗。。。

int main(){//定义三位数num,个位数sd,十位数td,百位数hd    

int num, sd, td, hd;    //循环所有三位数    

for(num=100  ;num<1000  ;num++  )    

{        

//获取三位数字num百位上的数字        

hd = num/100         ;        

//获取三位数字num十位上的数字        

td =        num/10%10         ;        

//获取三位数字num个位上的数字        

sd =        num%10         ;        

//水仙花数的条件是什么?        

if(hd*hd*hd+td*td*td+sd*sd*sd==num)         

{            

printf("水仙花数字:%d\n", num);            

}    

}    

return 0;   

}

正在回答

2 回答

for那一行行当于 遍历一遍三位数  从100到999 把100到999赋予num    hd  td sd 分别获得num所承载的三位数的百位  十位  个位  而水仙花数就是个十百位数的三次方之和等于本身的数  比如153等于1的三次方+5的三次方+3的三次方  if是个条件判断语句  如果if括号里的条件成立则执行 大括号里的语句  printf是输出语句  输出括号里的东东  还有什么不懂吗

1 回复 有任何疑惑可以回复我~
#1

風神 提问者

了解了,是我自己想得太复杂了,谢谢了。
2018-08-22 回复 有任何疑惑可以回复我~

哪里不懂

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

谁能解释一下为什么这样写吗。。。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信