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

来源:4-9 循环结构之for循环(二)

風神

2018-08-22 00:02

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回答

  • 认真的小萌新
    2018-08-22 00:46:37
    已采纳

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

    風神

    了解了,是我自己想得太复杂了,谢谢了。

    2018-08-22 00:54:10

    共 1 条回复 >

  • 认真的小萌新
    2018-08-22 00:34:32

    哪里不懂

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926287 学习 · 20799 问题

查看课程

相似问题