for循环4—9练习题

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

上僐若閖

2016-12-06 22:47

输出所有水仙花数字。

所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数,如:153就是一个水仙花数,153=1*1*1+5*5*5+3*3*3。

在代码编辑器中:

第7、10、12、14、16行完善代码

#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;    

}



sd =(num-hd*100-td*10)\10;这么写为什么不行?

写回答 关注

1回答

  • 慕容5347539
    2016-12-07 01:02:50
    已采纳

    可以写成:sd =(num-hd*100-td*10),代入一个任意数501,sd=(501-5*100-0*100)=1。如果再/10就错了,得不到个位数了。忘采纳!

    上僐若閖

    非常感谢!

    2016-12-07 21:32:20

    共 1 条回复 >

C语言入门

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

926026 学习 · 20793 问题

查看课程

相似问题