注册 登录
编程论坛 C++教室

啊!菜鸟提问!关于DEV-C++的水仙花数问题!

dorawang 发布于 2011-07-16 19:30, 698 次点击
程序代码:
#include <iostream>
using namespace std;
int main()
{
    int a,x,y,z,v;         
    for(a=100;a<1000;a++)
      {
       x=a/10;
       y=(a/100)%10;
       z=a%10;
       v=x*x*x+y*y*y+z*z*z;
       if(v==a)
         cout<<a<<endl;        
       }
    system("pause");
    return 0;
}
运行后没东西出来!求正解!
7 回复
#2
linw12252011-07-16 21:50
x有问题,按楼主的代码x得出的值必然是两位数的,貌似不符合水仙花数的定义。
代码应该是:x=a/100;   x代表百位数吧、
#3
博士无双2011-07-17 07:00
#include <iostream>
using namespace std;
int main()
{
    int a,x,y,z,v;         
    for(a=100;a<1000;a++)
      {
       x=a/100;//分解出百位
       y=(a/10)%10;//分解出十位
       z=a%10;//分解出个位
       v=x*x*x+y*y*y+z*z*z;
       if(v==a)
         cout<<a<<endl;        
       }
    system("pause");
    return 0;
}
#4
Hujc712011-07-17 14:08
  x=a/ 100 ;
       y=(a% 100 )/ 10 ;
       z=a% 10 ;
搞定收工!
#5
lianjiecuowu2011-07-17 14:59
biaoshi 好简单
#6
langhuan2011-07-17 15:23
回复 楼主 dorawang
试试这个:

#include <iostream>
using namespace std;
 int main()
 {
     int a,x,y,z,v;         
     for(a=100;a<1000;a++)
       {
        x=a%10;
        y=(a/10)%10;
        z=(a/100)%10;
        v=x*x*x+y*y*y+z*z*z;
        if(v==a)
          cout<<a<<endl;        
        }
     return 0;
 }
#7
zhangqi_gsts2011-07-21 23:48
#8
lucky5635912011-07-23 08:45
百位是a/100,十位是a/10%10,个位是a%10。LZ数学不过关。
1