用c语言打印水仙花数是指各位数字的立方和等于该数本身的三位数。例如,153 是水 仙花数,因为153=13+33+53。请设计程序计算并输出所有的水仙花数
时间: 2024-11-05 18:26:37 浏览: 8
c代码-打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。
5星 · 资源好评率100%
在 C 语言中,你可以编写一个简单的循环程序来寻找并打印所有的水仙花数。这里有一个基本的示例代码片段:
```c
#include <stdio.h>
#include <stdbool.h> // 引入 bool 类型以表示条件
bool is_narcissistic(int num) {
int digits[3]; // 存储三位数的每一位
int sum = 0;
// 分割三位数到 digits 数组
digits[0] = num / 100;
digits[1] = (num % 100) / 10;
digits[2] = num % 10;
// 计算每一位的立方和
for (int i = 0; i < 3; i++) {
sum += digits[i] * digits[i] * digits[i];
}
// 如果和等于原数,则是水仙花数
return sum == num;
}
int main() {
for (int n = 100; n <= 999; ++n) {
if (is_narcissistic(n)) {
printf("%d 是水仙花数。\n", n);
}
}
return 0;
}
```
这个程序通过将每个三位数分割成三个单独的整数,然后计算它们的立方和,最后比较这个和是否等于原来的数来判断是否为水仙花数。
阅读全文