C语言实验Ex05_循环控制
实 验 报 告
实验课程名称 C程序设计
实验项目名称 循环控制
年 级 08
专 业 电子信息科学与技术
学生姓名 郎子龙
学 号 080712110069
理 学 院
实验时间: 2010年 5 月 20 日
实验五 循环控制
实验目的
熟悉掌握用while语句、do while语句和for语句实现循环的方法;
掌握在程序设计中用循环的方法实现一些常用算法(如穷举、迭代、递推等);
进一步学习调试程序。
实验内容
输入两个正整数m和n,求它们的最大公约数和最小公倍数,并满足如下要求:
(1)如果在输入m>n时,有正确结果输出;
(2)如果在输入时m
(3)将程序修改,使m、n不论为何值(包括负整数),都能得到正确的结果。
满足如上要求的程序如下:
在上述程序下,输入三种条件下的三组数,得到的结果如下:
经分析,得到的三组数的结果都是正确的。
2.输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数,程序如下:
运行及结果:
在得到正确的结果后,修改程序使之能分别统计大小写字母、空格、数字和其他字符的个数,程序如下:
运行及结果为:
3.用牛顿迭代法求方程2*X*X*X-4*X*X+3*X-6=0在1.5附近的根,程序如下:
运行及结果为:
在得到正确结果后修改程序使所设的X初始值由1.5改变为100、1000、10000,再运行,观察结果,分析不同的X初始值对结果有没有影响,为什么?
输入为时,结果为;
输入为时,结果为;
输入为时,结果为;
由此可见,改变X的初值不会影响结果。
修改程序,使之能输出迭代的次数和每次迭代的结果,分析不同的X初始值对迭代的次数有无影响,程序如下:
在程序中添加一条整型输入语句;在语句中添加一个printf语句,即,即得到程序如下:
运行及结果为:
X的初值为100时结果为;
X的初值为1000时结果为;
X的初值为10000时结果为;
由此可见,不同的X初值的迭代次数不同,但得到的最终结果是相同的。
4.猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第十天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少桃子。程序如下:
运行及结果为。
在得到上面的正确结果后,修改题目,改为猴子每天吃了前一天剩下的一半后,再吃两个,即将原程序中的 改为 ,即
,结果为。
总结:
在这个实验中,我学会了使用while、do-while语句,也知道了在while语句中可以以复合语句的形式出现;而且在循环体中应有使循环趋向结束的语句;而do-while语句是先执行一次指定的循环体语句,然后判别表达式,当表达式的值为非零时返回新执行循环体语句,如此反复,直到表达式的只等于0为止,此时循环结束。这两种语句都可以再嵌套语句。