第一:使用数组与for循环实现
#include <iostream>
using namespace std;
int main(){
//首先确定1000内的所有的数;
int a[1000];
int num=1;
for(int i=0;i<=899;i++){
a[i]=num;
num++;
}
//判断是否是水仙花数
for(int i=0;i<=899;i++){
int g,s,b; //定义三个变量,表示个、十、百 位
g=a[i]%10; //取个位
int s1;
s1=a[i]/10;
s=s1%10; //取十位
b=a[i]/100; // 取百位
int sxh=g*g*g+s*s*s+b*b*b;
//判断是否是水仙花数!
if(sxh==a[i]) {
cout<<"这个数:"<<a[i]<<"是水仙花数!"<<endl;
}
}
}
第二:使用do...while循环实现
#include <iostream>
using namespace std;
int main(){
int num=1;
do{
int g,s,b;
//获取个位
g=num%10;
//获取十位
s=(num/10)%10;
//获取百位
b=num/100;
if((g*g*g+s*s*s+b*b*b)==num){
cout<<"这个数:"<<num<<"是水仙花数!"<<endl;
}
num++;
}
while(num<1000);
}