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

这样不可以么

1
#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
提交
取消

这样不可以么

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

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

帮助反馈 APP下载

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

公众号

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