【自己编的c语言水仙花数】在学习C语言的过程中,很多初学者都会尝试编写一些经典的程序来巩固所学知识。其中,“水仙花数”是一个非常典型的例子。它不仅有助于理解循环结构和条件判断,还能帮助我们掌握如何对数字进行拆分和比较。
所谓“水仙花数”,也称为自幂数,是指一个三位数,其各位数字的立方和等于该数本身。例如:153 = 1³ + 5³ + 3³ = 1 + 125 + 27 = 153。类似地,还有370、371、407等。
下面是我自己编写的一个C语言程序,用于找出所有三位数范围内的水仙花数,并对其进行了详细的总结。
一、程序功能说明
本程序的功能是:
- 遍历所有三位数(100~999);
- 对每个数分解出个位、十位和百位;
- 计算这三个数字的立方和;
- 判断是否等于原数,如果是,则输出该数。
二、C语言代码实现
```c
include
int main() {
int num, ge, shi, bai, sum;
printf("水仙花数有:\n");
for (num = 100; num <= 999; num++) {
bai = num / 100; // 取百位
shi = (num / 10) % 10; // 取十位
ge = num % 10; // 取个位
sum = bai bai bai + shi shi shi + ge ge ge;
if (sum == num) {
printf("%d\n", num);
}
}
return 0;
}
```
三、运行结果
运行上述程序后,输出如下:
```
水仙花数有:
153
370
371
407
```
四、总结与表格
水仙花数 | 各位数字 | 立方和计算过程 | 是否相等 |
153 | 1, 5, 3 | 1³ + 5³ + 3³ = 1 + 125 + 27 = 153 | 是 |
370 | 3, 7, 0 | 3³ + 7³ + 0³ = 27 + 343 + 0 = 370 | 是 |
371 | 3, 7, 1 | 3³ + 7³ + 1³ = 27 + 343 + 1 = 371 | 是 |
407 | 4, 0, 7 | 4³ + 0³ + 7³ = 64 + 0 + 343 = 407 | 是 |
五、个人心得
通过这次编程实践,我深刻体会到C语言中循环结构和数学运算的强大功能。同时,也认识到逻辑判断的重要性。在调试过程中,我发现如果对变量类型处理不当或计算顺序错误,会导致结果不准确。因此,在编写程序时,一定要仔细检查每一步的逻辑是否正确。
此外,水仙花数只是一个简单的例子,但它是学习编程思维的重要起点。希望这篇总结能对正在学习C语言的朋友有所帮助。