运行结果?

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

慕沐0526257

2019-12-09 16:27

水仙花数字:1
水仙花数字:8
水仙花数字:729
水仙花数字:370
水仙花数字:371
水仙花数字:378
水仙花数字:1099

为什么我的运行结果是这个

写回答 关注

3回答

  • qq_慕容1524297
    2019-12-18 19:47:56

    if(num==hd*hd*hd+td*td*td+sd*sd*sd)这条语句中是”==“号,意为等于。

  • 慕无忌2084642
    2019-12-11 17:28:07

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

    }


  • 林北945
    2019-12-11 16:47:12

    你不把代码复制过来谁知道

    无厘头的苏

    1.题目说的是三位数,所以是从100开始到999. 2.各个位数的三次方的和为当前数字,反向验证你得出的数字都没有符合要求。 3.个人认为难点是在百、十位的取值上,百位=当前数值/100取整,十位=(当前数值-百位值)/10取证。

    2019-12-17 19:22:32

    共 1 条回复 >

C语言入门

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

926021 学习 · 20793 问题

查看课程

相似问题