用c语言设计代码得出三位数的水仙数
时间: 2024-10-27 08:05:43 浏览: 12
湖北理工学院c语言程序的设计实验3答案.pdf
在C语言中,水仙花数是指一个三位数,其各位数字立方之和等于原数本身。例如,153就是一个水仙花数,因为它满足1^3 + 5^3 + 3^3 = 153。以下是编写一个C程序来找出所有三位数的水仙花数的示例:
```c
#include <stdio.h>
#include <stdbool.h>
bool isArmstrongNumber(int number) {
int digits[4], sum = 0, original_number;
// 分离每一位数字
original_number = number;
while (number > 0) {
digits[sum++] = number % 10;
number /= 10;
}
// 检查是否是水仙花数
for (int i = 0; i < sum; i++) {
sum += (digits[i] * digits[i] * digits[i]);
}
return (original_number == sum);
}
int main() {
int start = 100, end = 999;
printf("水仙花数有:\n");
for (int i = start; i <= end; ++i) {
if (isArmstrongNumber(i)) {
printf("%d ", i);
}
}
return 0;
}
```
这个程序首先定义了一个辅助函数 `isArmstrongNumber` 来检查一个数是否是水仙花数。主函数中从100到999遍历每个三位数,如果它满足水仙花数条件,则打印出来。
阅读全文