用c语言输入一个三位数,判断是不是水仙花数(各位数字的立方和等于这个三位数本身)。
时间: 2024-12-02 15:14:22 浏览: 42
在C语言中,判断一个三位数是否是水仙花数可以通过以下步骤完成:
1. 定义一个函数,接收一个整数作为输入参数。
2. 判断输入数值是否在100到999的范围内,因为水仙花数只有三位数。
3. 将数字拆分成百位、十位和个位的数值。可以先除以100得到百位,然后除以10取余数得到十位,再次除以10并向下取整得到个位。
4. 计算这三个数值的立方和。
5. 检查计算出的立方和是否等于原始输入的数值。
下面是一个简单的示例代码实现:
```c
#include <stdio.h>
#include <math.h>
int isArmstrongNumber(int num) {
int hundreds = num / 100;
int tens = (num % 100) / 10;
int ones = num % 10;
// 计算每个位数的立方
int sumOfCubes = pow(hundreds, 3) + pow(tens, 3) + pow(ones, 3);
// 如果立方和等于原数,则是水仙花数
if (sumOfCubes == num) {
return 1; // 返回1表示是水仙花数
} else {
return 0; // 返回0表示不是水仙花数
}
}
int main() {
int inputNum;
printf("请输入一个三位数:");
scanf("%d", &inputNum);
if (isArmstrongNumber(inputNum)) {
printf("%d 是水仙花数。\n", inputNum);
} else {
printf("%d 不是水仙花数。\n", inputNum);
}
return 0;
}
```
阅读全文