水仙花数 程序流程图c语言
时间: 2024-10-20 12:19:34 浏览: 73
水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
在C语言中,可以编写一个简单的程序来判断一个给定的整数是否是水仙花数。以下是基本的程序流程:
1. **输入验证**:首先获取用户输入的三位数。
2. **分解数字**:将数字转换成三个单独的位(百位、十位、个位)。
3. **计算立方和**:分别对这三个位数求立方,并加起来。
4. **比较结果**:检查计算出的总和是否等于原数。
5. **输出结果**:如果相等,则是水仙花数,反之则不是。
下面是对应的伪代码和部分C代码示例:
```c
#include <stdio.h>
#include <math.h>
int is narcissistic(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);
return sumOfCubes == num;
}
int main() {
int number;
printf("请输入一个三位数: ");
scanf("%d", &number);
if (is_narcissistic(number)) {
printf("%d 是水仙花数\n", number);
} else {
printf("%d 不是水仙花数\n", number);
}
return 0;
}
阅读全文