判断一个百位数是否为水仙花数。 有一个百位数X可表示为100*a+10*b+c,如果a’+b’+c'=X,那么X就是水仙花数。用C语言来这个问题
时间: 2024-09-30 19:06:35 浏览: 32
判断一个百位数是否为水仙花数,可以按照给定的规则编写一个简单的C语言函数。首先,我们需要获取数字的百位、十位和个位,然后分别计算它们的平方和,看是否等于原数字本身。下面是一个示例的C程序:
```c
#include <stdio.h>
// 函数用于检查是否为水仙花数
int isArmstrongNumber(int num) {
int hundreds = num / 100; // 百位
int tens = (num % 100) / 10; // 十位
int ones = num % 10; // 个位
int sumOfSquares = hundreds * hundreds + tens * tens + ones * ones;
return (sumOfSquares == num);
}
int main() {
int num;
printf("请输入一个三位数: ");
scanf("%d", &num);
if (isArmstrongNumber(num)) {
printf("%d 是水仙花数\n", num);
} else {
printf("%d 不是水仙花数\n", num);
}
return 0;
}
```
在这个程序中,用户输入一个三位数,`isArmstrongNumber`函数会检查这个数是否满足水仙花数条件。如果满足,则返回`1`,否则返回`0`。
阅读全文