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

为什么我这个三位数的限定方法不行呀??求教各位大佬

#include <stdio.h>
int main()
{

    int num, sd, td, hd;
    for(num=100 ;
99<num && num <1000;num++)
    {
        hd = num/100;
        td = num /10%10;
        sd = num%10;
        if( num == hd*hd*hd+td*td*td+sd*sd*sd)
        {
            printf("水仙花数字:%d\n", num);   
        }
    }
    return 0;   
}

提问者:慕少2890056 2018-10-01 17:25

个回答

  • qq_梁小胖咂_cGIMSZ
    2018-10-10 17:03:42

    hd=num/100     td=num%100/10        sd=num%100%10

  • 慕仔0455005
    2018-10-02 15:49:40

    是&关系没有错,但是你的td符号有问题

  • 慕仔0455005
    2018-10-02 15:46:34

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

    }


  • lzj1136667251
    2018-10-01 20:30:02

    我感觉没错啊,是正确的