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

哪里错了?

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语言入门
  • 参与学习       926255    人
  • 解答问题       20798    个

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

进入课程

哪里错了?

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