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

为什么提示代码错误

#include <stdio.h>
int main()
{
    int num, sd, td, hd;
    for(  num=100 ; num<1000 ;num++  )
    {
        hd = num/100         ;
        td =num%100/10        ;
        sd =num%100%10         ;
        if( num==sd*sd*sd+td*td*td+hd*hd*hd                 ) 
        {
            printf("水仙花数字:%d\n", num);    
        }
    }
    return 0;    
}


提问者:慕莱坞1099911 2018-09-21 00:37

个回答

  • 何谊
    2018-09-29 16:11:49

     if(num==sd*sd*sd+td*td*td+hd*hd*hd)这一行代码里的hd,td,sd不按顺序排就会提示输入错误。

  • Never____
    2018-09-21 15:08:23

    你代码没错。你是提交作业显示错误吧

  • 尐浣熊丷
    2018-09-21 10:03:03

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

    }