问答详情
源自:4-9 循环结构之for循环(二)

153=1*1*1+5*5*5+3*3*3

#include <stdio.h>

int main()

{

    //定义三位数num,个位数sd,十位数td,百位数hd

    int num, sd, td, hd,n;

    //循环所有三位数

    for( sd = 3 ; td = 5; hd = 1; n = 0; n++ )

    {

        //获取三位数字num百位上的数字

        hd *= hd         ;

        //获取三位数字num十位上的数字

        td *= td                  ;

        //获取三位数字num个位上的数字

        sd *= sd                 ;

        //水仙花数的条件是什么?

        num = hd + td + sd;

        if(     n<4          ) 

        {

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

        }

    }

    return 0;    

}

这样写可以嘛?

提问者:慕粉4031438 2017-01-11 09:09

个回答

  • 慕粉1228543492
    2017-01-12 16:18:04

    #include<stdio.h>
    int main()
    {
      int num,sd,td,hd;
      for(nun=100;nun=999;num++)
          {
            hd=num/100;
            td=(num%100)/10;
            sd=(num%100)%10;
            if(num==sd*sd*sd+td*td*td+hd*hd*hd)
               {
                  printf(''水仙花数字%d\n'',num);
                }
            }
        return 0;
    }

  • 慕粉1228543492
    2017-01-12 16:16:33

    水仙花

  • 慕粉1228543492
    2017-01-12 16:15:08

    #include<stdio.h>
    int main()
    {
      int num,sd,td,hd;
      for(nun=100;nun<=999;num++)
          {
            hd=num/100;
            td=(num%100)/10;
            sd=(num%100)%10;
            if(num==sd*sd*sd+td*td*td+hd*hd*hd)
               {
                  printf(''水仙花数字%d\n'',num);
                }
            }
        return 0;
    }

  • OCNYang
    2017-01-11 11:32:26

     循环改成这样:for( sd = 3 ,td = 5, hd = 1, n = 0; n<3; n++ )