调用函数fun判断一个三位数是否是"水仙花数"。在main函数中从键盘输入一个三位数,并输出判断结果。请编写fun函数。所谓"水仙花数"是指一个3位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为153等于1的立方加上5的立方加上3的立方之和。 函数接口定义: int fun(int n); 其中 n 是用户传入的参数。 n 的值不超过int的范围。若 n 是水仙花数函数须返回1,否则返回0。
时间: 2024-02-06 17:09:54 浏览: 69
以下是函数fun的代码实现:
```c
int fun(int n) {
int sum = 0;
int temp = n;
while (temp > 0) {
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
if (sum == n) {
return 1;
} else {
return 0;
}
}
```
在主函数中,我们可以这样调用fun函数:
```c
int main() {
int n;
printf("请输入一个三位数:");
scanf("%d", &n);
if (fun(n)) {
printf("%d是水仙花数\n", n);
} else {
printf("%d不是水仙花数\n", n);
}
return 0;
}
```
运行结果如下:
```
请输入一个三位数:153
153是水仙花数
```
```
请输入一个三位数:123
123不是水仙花数
```
相关问题
调用函数fun判断一个三位数是否水仙花数;在main函数中从键盘输入一个三位数,并输出判断结果
你好,我是ChitGPT,可以和你进行对话。对于你的问题,我可以提供以下C++代码:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
bool fun(int n) {
int a = n / 100; // 百位数
int b = n / 10 % 10; // 十位数
int c = n % 10; // 个位数
if (n == pow(a, 3) + pow(b, 3) + pow(c, 3)) { // 判断是否水仙花数
return true;
} else {
return false;
}
}
int main() {
int num;
cout << "请输入一个三位数:";
cin >> num;
if (num >= 100 && num <= 999) { // 判断是否是三位数
if (fun(num)) {
cout << "是水仙花数。" << endl;
} else {
cout << "不是水仙花数。" << endl;
}
} else {
cout << "输入错误,请输入一个三位数。" << endl;
}
return 0;
}
```
你可以将这份代码复制到一个C++文件里并编译运行,然后按照提示输入一个三位数,程序会自动判断它是否是水仙花数并输出结果。希望这能对你有所帮助!
调用函数fun判断一个三位数是否“水仙花数”。在main 函数中从键盘输入一个三位数,并输出判断结果。请编写fun函数Python
可以使用以下的 Python 代码实现:
```python
def fun(num):
# 获取百位、十位、个位数字
a = num // 100
b = (num // 10) % 10
c = num % 10
# 判断是否为水仙花数
if a**3 + b**3 + c**3 == num:
return True
else:
return False
if __name__ == '__main__':
num = int(input("请输入一个三位数:"))
if fun(num):
print(f"{num}是水仙花数")
else:
print(f"{num}不是水仙花数")
```
在这个代码中,我们定义了一个名为 `fun` 的函数来判断一个三位数是否为水仙花数。在 `main` 函数中从键盘输入一个三位数,然后调用 `fun` 函数来判断它是否为水仙花数,最后输出判断结果。
阅读全文