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

如何让运行出来的是三位数呢?加个判断?

#include <stdio.h>
int main()
{
    //定义三位数num,个位数sd,十位数td,百位数hd
    int num, sd, td, hd;
    //循环所有三位数
    for( num=0  ; 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;   
}

提问者:heifo 2019-10-25 20:57

个回答

  • heifo
    2019-10-25 20:59:22

    #include <stdio.h>
    int main()
    {
        //定义三位数num,个位数sd,十位数td,百位数hd
        int num, sd, td, hd;
        //循环所有三位数
        for( num=0  ; 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&&num>=100)
            {
                printf("水仙花数字:%d\n", num);   
            }
        }
        return 0;   
    }自问自答。。