要编写程序查看三位数中的水仙花数,可以遵循以下步骤:
初始化变量
定义一个变量来存储当前检查的三位数,例如 `i`,初始值为100。
定义变量来存储每个位上的数字,例如 `a`(百位)、`b`(十位)、`c`(个位)。
循环遍历
使用 `for` 循环从100遍历到999。
在每次循环中,将当前数 `i` 的百位、十位和个位分别赋值给 `a`、`b` 和 `c`。
计算立方和
计算 `a`、`b` 和 `c` 的立方和,即 `a*a*a + b*b*b + c*c*c`。
判断是否为水仙花数
如果计算得到的立方和等于当前数 `i`,则 `i` 是一个水仙花数,将其添加到结果列表中。
输出结果
循环结束后,输出所有找到的水仙花数。
```c
include
int main() {
int i, a, b, c;
// 存储水仙花数的数组
int narcissistic_numbers;
int count = 0;
// 遍历所有三位数
for (i = 100; i <= 999; i++) {
// 获取百位、十位和个位
a = i / 100;
b = i / 10 % 10;
c = i % 10;
// 计算立方和
if (a * a * a + b * b * b + c * c * c == i) {
// 如果是水仙花数,添加到数组中
narcissistic_numbers[count++] = i;
}
}
// 输出结果
printf("三位数中的水仙花数有:\n");
for (int j = 0; j < count; j++) {
printf("%d ", narcissistic_numbers[j]);
}
printf("\n");
return 0;
}
```
运行这个程序,它会输出所有在100到999范围内的水仙花数。根据已知的数学知识,三位数中的水仙花数有四个,分别是153、370、371和407。