水仙花数c语言程序函数调用
时间: 2023-10-06 18:08:27 浏览: 152
水仙花数c语言程序 .zip
5星 · 资源好评率100%
以下是一个C语言程序,用于判断一个数是否为水仙花数,并使用函数调用来实现:
```c
#include <stdio.h>
#include <math.h>
int isArmstrong(int num);
int main() {
int num;
printf("请输入一个数: ");
scanf("%d", &num);
if (isArmstrong(num))
printf("%d 是水仙花数", num);
else
printf("%d 不是水仙花数", num);
return 0;
}
int isArmstrong(int num) {
int sum = 0, temp = num, n = 0;
while (temp != 0) {
temp /= 10;
n++;
}
temp = num;
while (temp != 0) {
int digit = temp % 10;
sum += pow(digit, n);
temp /= 10;
}
return sum == num;
}
```
其中,`isArmstrong()`函数用于判断一个数是否为水仙花数。该函数使用了两个while循环,第一个循环用于计算数位数,第二个循环用于计算每一位数的n次方和。最后,函数返回一个布尔值,表示该数是否为水仙花数。
在主函数中,首先提示用户输入一个数,然后通过`scanf()`函数获取输入的值,并将其传递给`isArmstrong()`函数进行判断。如果该数是水仙花数,则输出提示信息,否则输出另一条提示信息。
阅读全文