问答详情
源自: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 / 10;               

        //获取三位数字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_慕慕7017623 2019-11-13 15:19

个回答

  • 慕盖茨1812538
    2019-11-13 19:56:28

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

  • 遗忘哟
    2019-11-13 16:13:20

    //获取三位数字num百位上的数字

            hd = num / 10;           // 这里有问题 

            //获取三位数字num十位上的数字

            td = (num % 100) / 10;        // 这里也写错了

            //获取三位数字num个位上的数字

            sd = num % 10;

            //水仙花数的条件是什么?


  • 遗忘哟
    2019-11-13 16:10:54

    #include <stdio.h>

    int main(){

    int num,h_num,t_num,s_num;

    for (num=100;num<1000;num++) {

    h_num = num / 100;

    t_num = (num / 10) % 10;

    s_num = num % 10;

    if (num == h_num*h_num*h_num + t_num*t_num*t_num + s_num*s_num*s_num){

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

    }

    }

    return 0;

    }