c语言水仙花编写函数
时间: 2023-11-29 07:05:40 浏览: 91
以下是一个用 C 语言编写的判断一个数是否为水仙花数的函数:
```c
#include <stdio.h>
#include <math.h>
int isArmstrong(int n) {
int temp = n, sum = 0, digit;
int num_digits = (int)log10(n) + 1;
while (temp > 0) {
digit = temp % 10;
sum += pow(digit, num_digits);
temp /= 10;
}
return (sum == n);
}
int main() {
int n;
printf("Enter a number: ");
scanf("%d", &n);
if (isArmstrong(n)) {
printf("%d is an Armstrong number.\n", n);
} else {
printf("%d is not an Armstrong number.\n", n);
}
return 0;
}
```
函数 `isArmstrong` 接受一个整数参数 `n`,并返回一个布尔值,表示 `n` 是否为水仙花数。函数先计算出 `n` 的位数,然后逐位取出数字并计算它们的幂和,最后将幂和与 `n` 比较是否相等即可。在主函数中,我们通过 `scanf` 获取用户输入的整数,并调用 `isArmstrong` 函数判断它是否为水仙花数并输出结果。
阅读全文