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

哪里错了?

int num, sd, td, hd;    for(num=100;num<1000; num++ )    {        hd =num/100      ;        //获取三位数字num十位上的数字        td =(num-100*hd)/10   ;        sd =num-100*hd-10*td ;        if( num==sd*sd*sd+td*td*td+hd*hd*hd)        {            printf("水仙花数字:%d\n", num);            }    } 哪里错了?

正在回答

3 回答

hd=num/100;     //获取三位数字num百位上的数字

      td=(num-100*hd)/10;

      sd=num-100*hd-10*td;

应该是hd,td,sd是同时计算的,所以你不能用hd去定义td

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

慕66666666 提问者

非常感谢!
2016-10-19 回复 有任何疑惑可以回复我~
#2

慕66666666 提问者

我还是不明白,你的代码和我的有什么不一样吗?
2016-10-19 回复 有任何疑惑可以回复我~

就是啊,一直相看他的解答,看到最后也没有解答这个问题。。。namevalue,

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

int num,sd,td,hd;

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

{

      hd=num/100;     //获取三位数字num百位上的数字

      td=(num-100*hd)/10;

      sd=num-100*hd-10*td;

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

      {

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

}

}

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

慕66666666 提问者

我还是不明白,你的代码和我的有什么不一样吗?
2016-10-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       928320    人
  • 解答问题       21550    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

哪里错了?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号