把判断某数是否是水仙花数定义成函数,然后调用该函数输出所有的水仙花数

来源:百度知道 编辑:UC知道 时间:2024/05/23 12:33:19
看题仔细点,别乱放炮。急!!!好的加分
简单的C语言,不要别的, 看题来做啊

//所谓水仙花数是指一个三位数它的每位数字的立方之和等于该数,水仙花数翻译乘英文是narcissus few
//我是在谷歌金山词霸里找到的,不知道准不准确
#include <iostream.h>
#include <math.h>
bool Judge(int);//判断一个整型数字是否为水仙花数
inline int Biti(int d, int i);//求一个整数d的第i位(从右往左数)的数字
void All_narcissus_few();//输出所有的水仙花数
void main()
{
int num;
cout <<"Please input an integer:\n";
cin >>num;
if(Judge(num))
cout <<num<<" is a narcissus few"<<endl;
else
cout <<num<<" is not a narcissus few"<<endl;
}

bool Judge(int d)
{
All_narcissus_few();
if(d < 100 || d > 999)//首先判断d是否为三位数
return false;
else
{
int a[3];//分别将d的百位数,十位数,个位数付给a[2], a[1] ,a[0]
int i;
for(i = 0; i < 3; i++)
a[i] = Biti(d, i+1);
for(i = 0; i < 3; i++)
d -= (int)pow(a[i], 3);
if(d == 0)
return true;
else