问答详情
源自:4-9 循环结构之for循环(二)

错哪了 结果都一样

#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 + sd*sd*sd + td*td*td) 

        {

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

        }

    }

    return 0;    

}


提问者:qq_慕雪0203159 2020-07-12 08:43

个回答

  • weixin_慕少9328968
    2020-07-12 17:13:50

    if(num==hd*hd*hd+td*td*td+sd*sd*sd(改成这个应该可以了)

  • weixin_慕少9328968
    2020-07-12 17:10:36

    它所认可的就那两种情况,其余的无论对错都判断为错误

  • weixin_慕少9328968
    2020-07-12 17:09:13

    你这个其实没有错,逻辑上是没有问题的,只不过这个是题目它不仅检查结果还检查代码所以并没有考虑全面