c语言上机报告之水仙花数

c语言上机报告之水仙花数

ID:20252683

大小:54.18 KB

页数:6页

时间:2018-10-11

c语言上机报告之水仙花数_第1页
c语言上机报告之水仙花数_第2页
c语言上机报告之水仙花数_第3页
c语言上机报告之水仙花数_第4页
c语言上机报告之水仙花数_第5页
资源描述:

《c语言上机报告之水仙花数》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C语言程序设计上机报告课题名称:水仙花数的算法院(系):工程学院专业班级:052126学生姓名:喻培学号:20121004040指导教师:熊慕舟2013年11月24日C语言上机报告之水仙花数一、上机目的:1.了解c语言和程序设计2.学习怎样实现算法,怎样实现水仙花数的输出二、上机作业:判断是否是水仙花数。—水仙花数是指一个n位数(n>=3),它的每个位上数字n次幂之和等于它本身。要求:—用scanf输入的数字为任意位数字—要求进行错误检查—判断该数是否为水仙花数—对判断结果进行输出三、程序设计1、NS流程图:输入n0→sum,1→i,0→c,n→h,h→jn/10不小于1是否n/10→n,i

2、+1→i跳出循环直到n/10不小于1c=isum=j是否输出n“是水仙花数”输出n“不是水仙花数”2、算法:首先将0赋值给sum,1赋值给i,0赋值给c,n赋值给h,h赋值给j,再输入任意一位数n,对它取10的商,用该商与1比较。若不小于1,则将该商赋值给n,i+1赋值给i,再进行判断,重复以上步骤,直到n/10不小于1,跳出循环体,记住此时i的值,执行下一步。判断c是否小于i。若是,则将h取10的余数赋值给b,h除以10的商赋值给h,sum+b的i次幂赋值给sum,c+1赋值给c,再进行判断,重复以上

3、步骤,直到c不小于i,跳出循环体,执行下一步。最后判断sum=i,若是,则输出n“是水仙花数”;若不是,则输出n“不是水仙花数”。3、程序代码:#include//预处理指令#include//定义一个函数intmain()//函数首部{intn,b,h,j;//定义变量sum=0;//对变量sum赋值c=0;//对变量c赋值i=1;//对变量i赋值printf("pleaseenteranumber,n=?");//输出语句scanf("%d",&n);//输入任意数nh=n;//对变量h赋值while(n/10>=1)//循环结构的开始{n=n/10;/

4、/对变量n赋值i=i+1;//对变量i赋值}//第一层循环结束j=h;//对变量j赋值while(c

5、”。(2)、该程序用了两个while的循环语句,应当注意语句当中变量的赋值问题,进过一个循环体之后,该变量便不是原来的值了。如果想继续使用的话,就必须在执行循环体之前就把该值赋值给另一个变量。否则,程序很容易出错。(3)、该程序单调的使用了两个while的循环语句,其实可以更简单一点,用一个循环语句,再在其中套用一个for领导的循环语句。这样程序更简单。(4)对于pow的幂指函数型,我们还没有接触到就使用了,本可以运用所学的知识来表示b的i次幂,一个循环语句即可。5、运行过程:运行结果:6、上机体会:对于刚接触c语言的我来说,这次的水仙花数程序难度有点大。我连c语言的程序结构都没有弄清楚,就

6、坐在电脑前瞎翻书,但还是有点效果的。这次上机,虽然大部分时间都是在看书,但也知道了些东西。水仙花数的算法不难写出来,但程序代码就难写了。可以说,这次上机,使我对c语言有了更加理性的认识。因为我一开始对c语言什么感觉都没有,所就没想过能一次写出完整的程序代码。我是分了两次来完成的:第一次程序是找出输入的任意数的位数;第二次程序是计算出已知位数的任意数的水仙花数算法。两次都成功后,再合并起来就是完整的水仙花数程序代码了。两个程序分开来都挺成功的,但是加在一起就出问题了。153是个水仙花数,两个程序分别输出的是3和153.但合起来后输出的却是1。结果如下:我就纳闷了,看了半天也不知道为什么,最后还

7、是解决了。原来经过都一次循环体之后,n的值变了。但在第二次循环体里,我是以原来n的值为前提运行的,所以运行结果出错了。这也是我以后要多多注意的地方。7、上机总结:总的来说,这次上机,收获还是不小的。起码c语言不像天书了,了解到了c语言的基础知识,基本的框架结构,现在不看书也能写出一些基本的程序。但不足的是,我用了两次while,过于单调和复杂,但是我尝试过套用for语句,老是运行出错,不会使用for语句。希望

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。