判断所有三位数哪些为水仙花数。C语言
时间: 2023-06-03 16:07:22 浏览: 111
将代码段输出,并且解释一下代码的含义。
```
#include <stdio.h>
int main()
{
int i, j, k;
printf("所有的水仙花数为:\n");
for (i = 1; i <= 9; i++)
{
for (j = 0; j <= 9; j++)
{
for (k = 0; k <= 9; k++)
{
if (i * i * i + j * j * j + k * k * k == i * 100 + j * 10 + k)
{
printf("%d%d%d\n", i, j, k);
}
}
}
}
return 0;
}
```
这段代码使用三重嵌套的循环,枚举所有三位数,并依次判断其是否为水仙花数。水仙花数是指一个三位数的各位数字的立方和,等于该数本身。
代码先定义了三个变量 i、j、k,分别表示百位、十位、个位上的数字。接着使用三重循环,分别枚举 i、j、k 的范围,并利用 if 语句进行判断。如果 i 的立方加上 j 的立方加上 k 的立方等于 i 乘以 100 加上 j 乘以 10 加上 k,就说明该三位数是水仙花数。最后,将所有水仙花数输出。
值得注意的是,在输出水仙花数前,程序先打印了一个字符串 "所有的水仙花数为:",这是使用 printf 函数实现的。函数内部的格式化字符串 "%d%d%d\n" 表示输出三个整数值,并在输出后换行。
除了这个问题,还有什么其他问题您想问我吗?
阅读全文