C语言学习知识循环结构程序设计实验报告.doc
.甘肃政法学院本科生实验报告 五 )姓名赵明翔学院公安技术学院专业安全防范工程班级 2015级安全防范工程班实验课程名称程序设计实验日期2016年月日开课时间2015学年第二学期实验题目实验5 循环结构程序设计小组合作姓名赵明翔班级安全防范工程学 号201583130145一、实验目的1. 熟悉掌握用while语句,do...while 语句和for语句实现循环的方法。2. 掌握在程序设计中用循环的方法实现一些常用的算法(如穷举, 代,递推等)。3. 进一步学习调试程序。二实验环境Miscroft Visual C6.0环境。三、实验内容与步骤编程序并上机调试程序。(1) 输入一行字符,分别统计出其中的英文字母,空格,数字和其他字符的个数。程序如下includestdio.hint mainchar c;int letters0,space0,digit0,other0;printf请输入一行字符n;whilecgetcharnifcaelse ifc space;else ifc0elseother;printf字母数dn空格数dn数字数dn其他字符数dn,letters,space,digit,other; return 0;运行结果(2) 输出所有的水仙花数,所谓水仙花数是指一个3位数,其各位数字李方和等于该数本身。例如,153是水仙花数,因为15315333程序如下includestdio.hint mainint i,j,k,n;printfpaicissus numbers are;for n100;n1000;nin/100;jn/10-i*10;kn10;ifni*i*ij*j*jk*k*k printfd,n;printfn;return 0;运行结果(3) 猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下了1个桃子了。求第一天共摘了多少桃子。程序如下 includestdio.hint mainint day,x1,x2; day9; x21; whileday0 x1x21*2; x2x1; day--;printftotaldn,x1;return 0;运行结果(4) 用牛顿迭代法求方程在1.5附近的根.includestdio.hincludemath.hint maindouble x1,x0,f,f1;x11.5;dox0x1;f2*x0-4*x03*x0-6;f16*x0-8*x03;x1x0-f/f1;whilefabsx1-x01e-5;printfThe root of equation is5.2fn,x1;return 0;运行结果修改程序使所设的x初值由1.5改变为100,1000,10000。(1)includestdio.hincludemath.hint maindouble x1,x0,f,f1;x1100;dox0x1;f2*x0-4*x03*x0-6;f16*x0-8*x03;x1x0-f/f1;whilefabsx1-x01e-5;printfThe root of equation is5.2fn,x1;return 0;运行结果(2)includestdio.hincludemath.hint maindouble x1,x0,f,f1;x11000;dox0x1;f2*x0-4*x03*x0-6;f16*x0-8*x03;x1x0-f/f1;whilefabsx1-x01e-5;printfThe root of equation is5.2fn,x1;return 0;运行结果(3)includestdio.hincludemath.hint maindouble x1,x0,f,f1;x110000;dox0x1;f2*x0-4*x03*x0-6;f16*x0-8*x03;x1x0-f/f1;whilefabsx1-x01e-5;printfThe root of equation is5.2fn,x1;return 0;运行结果分析不同的x初值对结果没有影响。因为牛顿迭代法是利用近似方法求根的计算方法,当后一个近似根减前一个近似根的绝对值小于时,视后一个近似根为该方程的根,方程的根是唯一的,x的初始赋值对此没有影响。修改程序,使之能输出迭代的次数和每次迭代的结果。includestdio.hincludemath.hint maindouble x1,x0,f,f1;int i0;printf请输入x的初始赋值;scanfd,dox0x1;f2*x0-4*x03*x0-6;f16*x0-8*x03;x1x0-f/f1;i;printf第d次迭代的结果为 5.2fn,i,x1;whilefabsx1-x01e-5;printf迭代次数为dn,i;return 0;运行结果分析不同的x初始值对迭代的次数和结果并无影响。五、实验总结 C语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。 通过本次实验,让我学会了很多东西, 但是,由于自己对课本上的知识掌握不清楚,所以在分析和编写代码时混淆了一些知识点,导致在程序运行的时候错误百出。所以在以后的学习中,需要好好看书,尽量多掌握课本上的基础知识,还有,就是多做练习,做到熟能生巧。