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

我这个得出来的有几个怎么不是水仙花数啊

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

提问者:慕斯024120 2017-09-15 22:56

个回答

  • 慕妹1729696
    2017-09-15 23:21:34

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