8.输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于 该数本身。例如,153是水仙花数,因为153=1+5+3。用c语言
时间: 2024-09-18 19:12:27 浏览: 46
在C语言中,你可以通过循环遍历三位数范围并检查每个数是否满足水仙花数的条件来找出它们。下面是一个简单的示例程序:
```c
#include <stdio.h>
int is narcissistic(int num) {
int digits[3], sum = 0;
// 分离每一位数字
while (num > 0) {
digits[2] = num % 10; // 最右边
num /= 10;
if (digits[2] != 0) {
for (int i = 0; i < 2; i++) {
digits[i] = num % 10;
num /= 10;
}
}
// 累加立方和
sum += digits[2]*digits[2]*digits[2];
sum += digits[1]*digits[1]*digits[1];
sum += digits[0]*digits[0]*digits[0];
}
return sum == num; // 如果累加和等于原数,则是水仙花数
}
int main() {
for (int i = 100; i <= 999; i++) { // 遍历三位数
if (is_narcissistic(i)) {
printf("%d 是水仙花数。\n", i);
}
}
return 0;
}
```
在这个程序中,`is_narcissistic` 函数负责判断一个数是否是水仙花数,`main` 函数则用于查找并打印符合条件的数。
阅读全文