写一个函数,用于判断一个数是否为水仙花数,运用值传递
时间: 2025-02-10 18:15:55 浏览: 37
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153 是水仙花数,因为 1^3 + 5^3 + 3^3 = 153。
要编写一个函数来检查一个整数是否是水仙花数,你可以使用 C++ 的值传递(pass by value)方式。这里是一个简单的函数示例:
```cpp
#include <iostream>
// 函数声明
bool isNarcissisticNumber(int num);
int main() {
int input;
std::cout << "Enter a three-digit number: ";
std int input = std::cin >> input; // 获取用户输入
if (isNarcissisticNumber(input)) {
std::cout << input << " is a narcissistic number.\n";
} else {
std::cout << input << " is not a narcissistic number.\n";
}
return 0;
}
// 实现判断函数
bool isNarcissisticNumber(int num) {
int sum = 0;
int temp = num;
while (temp != 0) {
int digit = temp % 10;
sum += digit * digit * digit; // 计算每位数字的立方
temp /= 10;
}
return sum == num; // 返回结果
}
```
在这个例子中,`isNarcissisticNumber` 函数接收一个整数作为参数,对其进行处理并返回一个布尔值,表示该数是否是水仙花数。值传递确保了原始输入不会被改变。
阅读全文
相关推荐

















