用while输出水仙花数c语言程序
时间: 2024-09-29 15:04:17 浏览: 22
在C语言中,水仙花数是指一个三位数,其各位数字立方之和等于该数本身。例如,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。下面是一个简单的while循环程序,用于找到并打印所有水仙花数:
```c
#include <stdio.h>
int main() {
int i, j, k;
while (i >= 100 && i <= 999) { // 遍历100到999之间的整数
int sum_of_cubes = 0;
int num = i; // 取当前数
k = num % 10; // 取个位
sum_of_cubes += k * k * k; // 加上个位立方
num /= 10; // 移除个位
j = num % 10; // 取十位
sum_of_cubes += j * j * j; // 加上十位立方
num /= 10; // 移除十位
i = num; // 取百位
if (num == 0) { // 如果只剩下百位,检查是否满足条件
if (sum_of_cubes == i) {
printf("%d is a Narcissistic number.\n", i);
}
} else {
sum_of_cubes += i * i * i; // 加上百位立方
}
}
return 0;
}