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

}


提问者:金士曼 2020-09-17 09:18

个回答

  • 慕容9194488
    2020-09-29 16:58:27

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

    单个"="是赋值,“=="才是数学的等号

  • 兴吾名
    2020-09-24 21:47:03

    没问题,多提交几次就可以,优先等级相同不需要加()

    狠狠的打脸

  • weixin_慕容3185619
    2020-09-18 09:21:07

    第十一行的num%100应该有括号注意运算优先等级,别忘了