编写int fun(int x)函数,其功能是判断一个三位数x是否是水仙花数,如果是则返回1,不是返回0。 main函数中调用fun函数找出三位数中的所有水仙花数,并打印输出。说明:所谓“水仙花数”即是指一个三位数,其各位数字的立方和等于该数本身。
时间: 2024-01-21 21:20:10 浏览: 71
Python判断一个三位数是否为水仙花数的示例
5星 · 资源好评率100%
以下是实现该功能的 C 代码:
```c
#include <stdio.h>
int fun(int x);
int main() {
int i;
for (i = 100; i < 1000; i++) {
if (fun(i) == 1) {
printf("%d 是水仙花数\n", i);
}
}
return 0;
}
int fun(int x) {
int a, b, c;
a = x / 100; // 百位数
b = (x / 10) % 10; // 十位数
c = x % 10; // 个位数
if (a*a*a + b*b*b + c*c*c == x) {
return 1;
} else {
return 0;
}
}
```
首先,我们在 main 函数中使用 for 循环遍历所有三位数(从 100 到 999),并将它们依次传入 fun 函数中进行判断。
fun 函数中,我们首先通过除法和取模运算分别求出该数的百位数、十位数和个位数,然后根据水仙花数的定义判断该数是否是水仙花数,即将它的各位数字的立方和与该数本身比较。最后,根据判断结果返回 1 或 0。
阅读全文