C++问题 生成水仙花数

来源:百度知道 编辑:UC知道 时间:2024/05/29 07:36:41
#include<iostream>
using namespace std;
void main()
{
int a=0;int i=0;int b=0;int c=0;
for(i=100;i<600;i++)
{
a=i/100;
b=(i-100*a)/10;
c=i%10;
if(i=a*a*a+b*b*b+c*c*c)
cout<<i<<"是水仙花数"<<endl;
}
}运行结果不对,为什么?

if(i==a*a*a+b*b*b+c*c*c)

#include<iostream>
using namespace std;
void main()
{
int a=0;int i=0;int b=0;int c=0;
for(i=100;i<600;i++)
{
a=i/100;
b=(i-100*a)/10;
c=i%10;
if(i=a*a*a+b*b*b+c*c*c)//这里错了,改为if(i==a*a*a+b*b*b+c*c*c)就对了
cout<<i<<"是水仙花数"<<endl;
}

if(i=a*a*a+b*b*b+c*c*c)

改成

if(i == a*a*a+b*b*b+c*c*c)

"=="才是比较相等,"="是赋值号,i=a*a*a+b*b*b+c*c*c的意思是将a*a*a+b*b*b+c*c*c赋值给i;

#include<iostream>
using namespace std;
void main()
{
int i=100;
int q,w,e;
for(i;i<1000;i++)
{
a=i/100;
b=(i-a*100)/10;
c=i%10;
if(i==a*a*a+b*b*b+c*c*c)
cout<<a<<"是水仙花数"<<endl;
}
}