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

这样不可以么

#include <stdio.h>int main(){    //定义三位数num,个位数sd,十位数td,百位数hd    int num, sd, td, hd;    //循环所有三位数    for(hd=0,td=0,sd=0;hd<10&&td<10&&sd<10;hd++,td++,sd++)    {        num=hd*100+td*10+sd;        if(num==hd*hd*hd+td*td*td+sd*sd*sd)         {            printf("水仙花数字:%d\n", num);            }    }    return 0;    }


正在回答

2 回答

好厉害!!?

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

你这样写的话,个位数,十位数,百位数是同时+1的,相当于你只判断了000,111,222,333,444,555,666,777,888,999。如果真要这么写,需要三重for循环,把个位十位百位分开,像下面这样,而且百位要从1开始

#include <stdio.h>
int main(){    //定义三位数num,个位数sd,十位数td,百位数hd
    int num, sd, td, hd;    //循环所有三位数
    for(hd=1;hd<10;hd++)
        {
            for(td=0;td<10;td++)
            {
                for(sd=0;sd<10;sd++)
               {


            num=hd*100+td*10+sd;
        if(num==hd*hd*hd+td*td*td+sd*sd*sd)
        {
            printf("水仙花数字:%d\n", num);
        }
               }
          }
    }
    return 0;
    }


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

举报

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

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

进入课程

这样不可以么

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