编写c语言程序一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数,请输出全部水仙花数,
时间: 2024-10-22 09:27:06 浏览: 31
在C语言中,编写一个程序来找出所有的水仙花数(即其各位数字的立方和等于原数本身的正整数),你可以采用遍历的方式从最小的三位数到最大的三位数,对每个数字进行检查。以下是简单的代码示例:
```c
#include <stdio.h>
// 计算一个三位数每位数字的立方和
int sum_of_cubes(int num) {
int digits[4]; // 存储每一位数字,包括千位
int sum = 0;
// 分割并计算立方和
while (num != 0) {
digits[3] = num % 10;
num /= 10;
for (int i = 0; i < 3; i++) {
sum += digits[i] * digits[i] * digits[i];
}
}
return sum;
}
// 主函数遍历并输出所有水仙花数
void find_hyacinth_numbers() {
for (int i = 100; i <= 999; i++) {
if (sum_of_cubes(i) == i) {
printf("%d is a Hyacinth number.\n", i);
}
}
}
int main() {
find_hyacinth_numbers();
return 0;
}
```
当你运行这个程序,它会打印出所有满足条件的水仙花数。
阅读全文