【自己编的c语言水仙花数】在学习C语言的过程中,水仙花数是一个常见的编程练习题。它不仅帮助初学者理解循环结构、条件判断和数字分解等基本概念,还能够锻炼逻辑思维能力。本文将总结如何编写一个简单的C语言程序来判断并输出所有三位数中的水仙花数,并通过表格形式展示结果。
一、什么是水仙花数?
水仙花数(Narcissistic number),也称为自恋数或阿姆斯特朗数(Armstrong number),是指一个n位数,其各位数字的n次幂之和等于该数本身。
例如:
- 153 = 1³ + 5³ + 3³
- 370 = 3³ + 7³ + 0³
- 371 = 3³ + 7³ + 1³
- 407 = 4³ + 0³ + 7³
这些都属于三位数的水仙花数。
二、C语言实现思路
1. 遍历所有三位数:从100到999。
2. 分解每一位数字:个位、十位、百位。
3. 计算各数字的立方和。
4. 比较立方和与原数是否相等。
5. 若相等,则输出该数。
三、代码示例
```c
include
int main() {
int num, original, remainder, sum = 0;
printf("三位数的水仙花数有:\n");
for (num = 100; num <= 999; num++) {
original = num;
sum = 0;
while (original > 0) {
remainder = original % 10;
sum += remainder remainder remainder;
original /= 10;
}
if (sum == num) {
printf("%d\n", num);
}
}
return 0;
}
```
四、运行结果总结
| 水仙花数 | 各位数字的立方和 |
| 153 | 1³ + 5³ + 3³ = 153 |
| 370 | 3³ + 7³ + 0³ = 370 |
| 371 | 3³ + 7³ + 1³ = 371 |
| 407 | 4³ + 0³ + 7³ = 407 |
五、总结
通过编写这个程序,可以加深对C语言中循环、条件判断以及数值处理的理解。同时,水仙花数的判断过程也展示了数学与编程结合的魅力。对于初学者来说,这是一个很好的入门项目,能够帮助巩固基础知识并提升实际编码能力。
如果你正在学习C语言,不妨尝试自己动手写一遍,体验从构思到实现的全过程。


