为了账号安全,请及时绑定邮箱和手机立即绑定

各位大神给看下哪里错了水仙花数字那题

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

正在回答

2 回答

C语言中,=是赋值的意思,==才是等于的意思。所以这里

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

应该是判断是否等于,而不是赋值,把=改成==即可。

0 回复 有任何疑惑可以回复我~
#1

qq_凝尘殇月_0 提问者

非常感谢!
2015-12-10 回复 有任何疑惑可以回复我~

这是正确代码

#include<stdio.h>

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

各位大神给看下哪里错了水仙花数字那题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信