C++水仙花数问题

来源:百度知道 编辑:UC知道 时间:2024/06/15 07:46:43
麻烦看一下那里出问题了?急!!!!!!!!
#include<iostream.h>
void main()
{
int m,n,x,y,z;
while(cin>>m>>n&&m!=0&&n!=0&&m>n)
{
for(int i=m;i<=n;i++)
{ x=i%100;
y=(i-100*x)%10;
z=i-100*x-10*y;
if(i==x*x*x+y*y*y+z*z*z)
cout<<i<<endl;
else cout<<"no";
}
}
}

m>n
for(int i=m;i<=n;i++)
这个循环会执行?

x,y也求错了,把%改成/

#include<iostream.h>
void main()
{
int m,n,x,y,z,i;
cin >>m;
cin>> n;
if(m!=0&&n!=0&&m<n)
{
for(i=m;i<=n;i++)
{ x=i/100;
y=(i-100*x)/10;
z=i-100*x-10*y;
if(i==x*x*x+y*y*y+z*z*z)
cout<<i<<endl;
}
}
}

这是我根据你的程序改的:
#include<iostream>
using namespace std;
void main()
{
int m,n,x,y,z;
while(cin>>m>>n && m!=0 && n!=0 && m<n)
{
for(int i=m;i<=n;i++)
{
x=i/100;
y=(i-100*x)/10;
z=i-100*x-10*y;

if(i==x*x*x+y*y*y+z*z*z)
{
cout<<i;
cout<<"是水仙花数"<<endl;
}
}
}
}
你的程序有几个问题:
循环条件: while(cin>>m>>n&&m!=0&&n!=0&&m>n)
应该为while(cin&g