编写int fun(int x)函数,其功能是判断一个三位数x是否是水仙花数,如果是则返回1,不是返回0。 main函数中调用fun函数找出三位数中的所有水仙花数,并打印输出。说明:所谓“水仙花数”即是指一个三位数,其各位数字的立方和等于该数本身。 【样例输入】 100 【样例输出】 153 370 371 407
时间: 2023-12-03 07:44:34 浏览: 74
以下是该题的C语言代码实现:
```c
#include <stdio.h>
int fun(int x); // 声明函数
int main() {
int i;
for(i=100; i<1000; i++) {
if(fun(i)) {
printf("%d ", i);
}
}
return 0;
}
int fun(int x) {
int a, b, c;
a = x / 100; // 取百位
b = x / 10 % 10; // 取十位
c = x % 10; // 取个位
if(x == a*a*a + b*b*b + c*c*c) { // 判断是否为水仙花数
return 1;
} else {
return 0;
}
}
```
运行结果:
```
153 370 371 407
```
相关问题
编写int fun(int x)函数,其功能是判断一个三位数x是否是水仙花数,如果是则返回1,不是返回0。 main函数中调用fun函数找出三位数中的所有水仙花数,并打印输出
下面是实现该功能的代码:
```c
#include <stdio.h>
int fun(int x);
int main() {
int i;
for (i = 100; i <= 999; ++i) {
if (fun(i)) {
printf("%d ", 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;
}
}
```
其中,fun函数中先将三位数x的百位数、十位数、个位数分别提取出来,然后判断它们的立方和是否等于x,如果是则返回1,否则返回0。在main函数中,从100到999枚举所有三位数,对于每个数调用fun函数进行判断,如果是水仙花数则输出。
用c语言设计函数fun,其功能为:判断一个三位数是否"水仙花数",若是,返回1,若不是,返回0。
好的,以下是一个定义 fun 函数并判断是否为 "水仙花数" 的 C 语言代码示例:
```c
#include <stdio.h>
int fun(int num) {
int units = num % 10; // 获取百位数
int tens = num / 10 % 10; // 获取十位数
int hundreds = num / 100; // 获取个位数
if (num == units * units * units + tens * tens * tens + hundreds * hundreds * hundreds) {
return 1; // 是水仙花数,返回1
} else {
return 0; // 不是水仙花数,返回0
}
}
int main() {
int num = 153; // 测试用例
int result = fun(num);
if (result == 1) {
printf("%d 是水仙花数", num);
} else {
printf("%d 不是水仙花数", num);
}
return 0;
}
```
注:该函数接收一个三位数 num 作为参数,通过 % 和 / 操作获取 num 的个位数、十位数和百位数,然后判断 num 是否为水仙花数。在主函数中,我们定义了一个测试用例 num = 153,并调用 fun 函数进行判断。如果 fun 函数返回值为1,则说明 num 是水仙花数,否则不是水仙花数。