c语言编程怎么判断水仙花数

时间:2025-01-28 23:45:12 网络游戏

在C语言中,判断一个数是否为水仙花数(也称为阿姆斯特朗数)的步骤如下:

遍历所有三位数 :从100到999。

拆分数字的各个位:

对于每个三位数,将其拆分为个位、十位和百位。

计算每个位的立方和:

将拆分出的个位、十位和百位数字分别立方,然后求和。

比较立方和与原数:

如果立方和等于原数,则该数是一个水仙花数。

```c

include

include

int main() {

int i, a, b, c;

for (a = 0; a <= 9; a++) { // 取百位数字

for (b = 0; b <= 9; b++) { // 取十位数字

for (c = 0; c <= 9; c++) { // 取个位数字

i = a * 100 + b * 10 + c; // 计算出这个数

if (pow(a, 3) + pow(b, 3) + pow(c, 3) == i) {

printf("%d 是水仙花数\n", i);

}

}

}

}

return 0;

}

```

代码解释:

包含头文件

`include `:用于输入输出函数。

`include `:用于数学函数,如 `pow` 函数计算立方。

主函数

`int main()`:程序的入口点。

嵌套循环

三个嵌套的 `for` 循环分别用于遍历百位、十位和个位数字,范围是0到9。

`i = a * 100 + b * 10 + c;`:计算当前的三位数。

判断水仙花数

`if (pow(a, 3) + pow(b, 3) + pow(c, 3) == i)`:判断当前三位数是否为水仙花数,如果是,则输出该数。

示例输出:

```

153 是水仙花数

370 是水仙花数

371 是水仙花数

407 是水仙花数

```

通过上述代码,你可以有效地判断一个数是否为水仙花数。