调用函数fun判断水仙花数C语言
时间: 2023-12-11 08:02:07 浏览: 291
以下是一个示例程序,使用函数fun判断一个数是否为水仙花数。
```c
#include <stdio.h>
#include <math.h>
int fun(int num) {
int digit, sum = 0, temp = num;
int n = (int)log10(num) + 1; // 求出num的位数
while (temp > 0) {
digit = temp % 10; // 取出个位数字
sum += pow(digit, n); // 每位数字的n次方之和
temp /= 10; // 去掉个位数字
}
if (sum == num) {
return 1; // 是水仙花数
} else {
return 0; // 不是水仙花数
}
}
int main() {
int num;
printf("请输入一个三位数:");
scanf("%d", &num);
if (fun(num)) {
printf("%d 是水仙花数。\n", num);
} else {
printf("%d 不是水仙花数。\n", num);
}
return 0;
}
```
程序中的函数`fun`接受一个整数作为参数,判断该数是否为水仙花数。如果是,返回1;否则返回0。在主函数中,从用户输入中读取一个三位数,调用`fun`函数判断它是否为水仙花数,并输出结果。
阅读全文