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

这个有什么问题

#include <stdio.h>

int main()

{

    //定义三位数num,个位数sd,十位数td,百位数hd

    int num, sd, td, hd;

    //循环所有三位数

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

    {

        hd =num/100;

        td =num%100/10;

        sd =num%10;

        if( num==hd*hd*hd+td*td*td+sd*sd*sd ) 

        {

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

        }

    }

    return 0;    

}


提问者:Cor1eone 2019-10-20 18:29

个回答

  • 慕后端2137381
    2019-10-20 21:55:54

    如果加了分号,就是单纯的循环不执行操作,直到num=1000就不等于1000就跳出循环输出1000

  • 慕后端2137381
    2019-10-20 21:44:31

    #include <stdio.h>

    int main()

    {

        //定义三位数num,个位数sd,十位数td,百位数hd

        int num, sd, td, hd;

        //循环所有三位数

        for(  num=100; num<1000 ;   num++  );//把   ;   符号删掉!!!!!!!!!

        {

            hd =num/100;

            td =num%100/10;

            sd =num%10;

            if( num==hd*hd*hd+td*td*td+sd*sd*sd ) 

            {

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

            }

        }

        return 0;    

    }


  • 储著斌
    2019-10-20 20:42:08

    我刚试了一下你这个好像没问题,你重开一下网站试试

  • 储著斌
    2019-10-20 20:39:47

    td=num%100/10这个运算的循序是从右到左,应该是的你换成td=(num%100)/10试试得,我也是个初学者,不是太清楚!