c语言输出所有水仙花数
时间: 2023-12-14 11:02:44 浏览: 28
水仙花数是指一个 n 位数 (n≥3) 的各位数字的 n 次方之和等于其本身。例如,153 是一个水仙花数,因为 1³ + 5³ + 3³ = 153。
以下是在C语言中输出所有三位数水仙花数的代码:
```c
#include <stdio.h>
#include <math.h>
int main() {
int i, num, digit, sum;
printf("All the narcissistic numbers of three digits are: ");
for (i = 100; i <= 999; i++) {
num = i;
sum = 0;
while (num > 0) {
digit = num % 10;
sum += pow(digit, 3);
num /= 10;
}
if (sum == i) {
printf("%d ", i);
}
}
printf("\n");
return 0;
}
```
运行结果:
```
All the narcissistic numbers of three digits are: 153 370 371 407
```
这个程序使用了 for 循环来遍历所有的三位数,然后使用 while 循环来计算每个数的各位数字的立方和。如果计算结果等于这个数本身,那么就说明这个数是一个水仙花数,就把它输出。