一道c++题目,不知道那里错了

来源:百度知道 编辑:UC知道 时间:2024/06/07 11:59:44
#include<iostream>
using namespace std;
int main()
{
for(int a;a<=1000;a++)
{
int i,j,k;
i=a/100;
j=a%100/10;
k=a%100%10;
if(a==(i*i*i+j*j*j+k*k*k))
cout<<a<<'\n';
}
return 0;
}
关于水仙花数的,好像没错,但是运行的时候什么都没用

#include <iostream.h>
for ( int a=0;a<=1000;a++)?

你是什么错误啊?

如果是求水仙花数的,那么
for(int a;a<1000;a++)应该改为for(int a=100;a<1000;a++)
你的a没有初值,大多数情况a就有可能大于1000,从而退出循环了

#include<iostream>
using namespace std;
int main()
{
for(int a;a<=1000;a++) //改成int a=0
{
int i,j,k;
i=a/100;
j=a%100/10;
k=a%100%10;
if(a==(i*i*i+j*j*j+k*k*k))
cout<<a<<'\n';
}
return 0;
}