15.编写一个函数int fun(int a),函数的功能是判断一个三位数a是否为水仙花数。 在主函数中通过调用fun函数,输出[100,999]之间所有的水仙花数。 提示:函数返回值可以取1或0表示是或否。 水仙花数是三位数,它的每一位数字的立方和等于这个数本身。 如153=1*1*1+5*5*5+3*3*3,因此153是水仙花数。
时间: 2024-03-07 15:49:17 浏览: 46
输出所有的水仙花数,所谓水仙花数是指一个3位数,其各个位上数字立方和等于其本身。
好的,这是一个简单的题目,可以使用以下的代码实现:
```c
#include <stdio.h>
int fun(int a) {
int b = a / 100; // 获取百位数
int c = a % 100 / 10; // 获取十位数
int d = a % 10; // 获取个位数
if (a == b * b * b + c * c * c + d * d * d) { // 判断是否是水仙花数
return 1;
} else {
return 0;
}
}
int main() {
for (int i = 100; i <= 999; i++) {
if (fun(i)) { // 判断是否是水仙花数
printf("%d\n", i); // 输出水仙花数
}
}
return 0;
}
```
在上面的代码中,我们先定义了一个 `fun` 函数来判断一个三位数是否是水仙花数。在 `main` 函数中,我们通过循环,依次判断 [100,999] 之间的每一个三位数是否是水仙花数,如果是,就输出该数。
阅读全文