用c语言实现判断从键盘输入的N位数是不是水仙花数 输入格式: 输入一个不超过7位的正整数 输出格式: 按N是水仙花数或N不是水仙花数输出。
时间: 2024-04-10 22:33:03 浏览: 130
您好!要判断一个N位数是否为水仙花数,您可以按照以下方式使用C语言实现:
```c
#include <stdio.h>
#include <math.h>
int isArmstrong(int num) {
int temp, digits = 0, sum = 0;
temp = num;
// 计算位数
while (temp != 0) {
temp /= 10;
digits++;
}
temp = num;
// 计算各位数字的立方和
while (temp != 0) {
int remainder = temp % 10;
sum += pow(remainder, digits);
temp /= 10;
}
// 判断是否为水仙花数
if (sum == num) {
return 1; // 是水仙花数
} else {
return 0; // 不是水仙花数
}
}
int main() {
int num;
printf("请输入一个不超过7位的正整数: ");
scanf("%d", &num);
if (isArmstrong(num)) {
printf("%d是水仙花数\n", num);
} else {
printf("%d不是水仙花数\n", num);
}
return 0;
}
```
在上面的代码中,我们定义了一个`isArmstrong`函数来判断一个数是否为水仙花数。然后在`main`函数中,我们从键盘输入一个数,并调用`isArmstrong`函数来判断它是否为水仙花数,并输出结果。
希望能对您有所帮助!如果您有任何其他问题,请随时提问。
阅读全文