不要失去信心,只要坚持不懈,就终会有成果的。——钱学森
本篇内容简介:一、问题呈现-->二、源码实现-->三、输出结果展示-->四、流程分析
磊C语言100题练习专栏计划:目的:巩固练习C语言,增强上机、动手实践能力,交流学习!题量随时间的增加会有所增加。
- C语言100题练习计划——走进水仙花数
- 一、问题呈现
- 二、源码实现
- 三、输出结果展示
- 1.输出结果:
- 2.输出结果(图示版):
- 四、流程分析
- 1.读题
- 2.构思
- 3.代码
一、问题呈现//========================
流苏的博客,邀你一起学习!歷
========================//
Problem Description
输入多组整数,判断所输入的整数是否为水仙花数
水仙花数:水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。
Input
输入多组变量n的值
Output
为水仙花数输出Yes,不是水仙花数输出No
Sample Input
153
2
Sample Output
Yes
No
二、源码实现#includeint main(){ int n; while(scanf("%d",&n)!=EOF){ if(n==0) break; int a=n/100; int b=n/10%10; int c=n%10; if(a*a*a+b*b*b+c*c*c==n) { printf("1n"); } else { printf("0n"); } } return 0; }
三、输出结果展示 1.输出结果:
153 Yes 2 No ^Z -------------------------------- Process exited after 7.234 seconds with return value 0 请按任意键继续. . .2.输出结果(图示版):
四、流程分析 1.读题
输入多组整数,判断所输入的整数是否为水仙花数。 关键点:① 输入多组 ② 是否为水仙花数
2.构思看第一处关键:输入多组,说明需要循环输入,但是多组肯定输入是有限数量的输入,多组输入我们一般会想到使用for循环,但是用那种方法,一般都会有限制,不能随心地输入,所以这里我们使用while(scanf("%d",&n)!=EOF)语句来实现,第二处关键是是否为水仙花数,然后题目注释中给了水仙花数的定义:水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。根据这个定义,我们在循环输入中,加一个if条件语句判断是否是水仙花数就可以了。
3.代码附:while(scanf("%d",&n)!=EOF)语句逐层分析,退出该语句用ctrl+z然后enter键就行了。
把你所思所想,以代码的形式,写出来。
ps:这道题的方法,本文虽然只写出这一种,但是思路方法其实不止这一种。其它的方法可自行尝试一下。
作者:Code_流苏(一个喜欢古诗词和编程的Coder)
★喜欢的话,还请多多点赞与关注! 感谢支持!
C语言百题练习专栏计划持续进行,欢迎评论交流学习!



