用c++定义函数,判断1个数是否为水仙花数,是,则返回1,不是,返回0。在main函数内,输入1个数,调用已定义的函数,并输出结果。
时间: 2023-09-30 22:06:03 浏览: 94
求水仙花数C++,两种判断
以下是用C++定义函数判断一个数是否为水仙花数的代码:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
int isNarcissistic(int num) {
int sum = 0, digit, temp;
temp = num;
while (temp != 0) {
digit = temp % 10;
sum += pow(digit, 3);
temp /= 10;
}
if (num == sum) {
return 1;
} else {
return 0;
}
}
int main() {
int num;
cout << "请输入一个数:";
cin >> num;
if (isNarcissistic(num)) {
cout << num << " 是水仙花数" << endl;
} else {
cout << num << " 不是水仙花数" << endl;
}
return 0;
}
```
解释如下:
首先,在 `isNarcissistic` 函数中,我们使用了三个变量 `num`、`sum` 和 `temp`。其中,`num` 是传入的参数,`sum` 是用来存储各个位数的立方和,`temp` 则是用来保存 `num` 的副本,以便于进行循环计算。
接下来,我们使用了 `while` 循环来逐位计算 `num` 的各个位数的立方和,并将结果存入 `sum` 变量中。
最后,我们通过比较 `num` 和 `sum` 的值来判断该数是否为水仙花数。如果是,则返回1;否则,返回0。
在 `main` 函数中,我们首先输入一个数 `num`,然后调用 `isNarcissistic` 函数来判断该数是否为水仙花数。如果是,输出提示信息;否则,也输出相应的提示信息。
阅读全文