问答详情
源自: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 + td * td * td + sd * sd * sd) 

        {

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

        }

    }

    return 0;    

}

为什么这样不行

提问者:qq_Anyway_w 2015-06-27 20:27

个回答

  • sanjiaofeng
    2015-06-30 17:37:12

    代码好着呢呀,试着跑了下,完全正确!

  • 不要为你的无知找借口
    2015-06-28 01:32:50

    又一个水仙花数的程序...这一行应该添加括号: 将td = num%100/10;改成 td = (num%100)/10;

  • 赤坂龙之介
    2015-06-27 20:43:58

    没发现错误, 哪不行了