实验三循环结构程序设计.docx
- 文档编号:25070558
- 上传时间:2023-06-04
- 格式:DOCX
- 页数:11
- 大小:222.97KB
实验三循环结构程序设计.docx
《实验三循环结构程序设计.docx》由会员分享,可在线阅读,更多相关《实验三循环结构程序设计.docx(11页珍藏版)》请在冰豆网上搜索。
实验三循环结构程序设计
实验报告
实验目的与要求:
1.熟练使用for、while和do-while语句实现循环程序设计。
2.理解循环条件和循环体,以及for、while和do-while语句的相同及不同之处。
3.熟练掌握break和continue语句的使用。
4.掌握使用debug菜单调试程序的方法。
5.熟练掌握嵌套循环程序设计。
6.掌握C程序的调试方法。
实验设备(环境):
vc++6.0
实验内容:
一、编程题
3-1
(1)
步骤一:
进入Visual C++环境后,执行“文件”|“新建”C++ Source File。
步骤二:
输入两个正整数m和n,输出它们的最小公倍数和最大公约数。
编写程序如下:
#include
intmain()
{
intp,r,n,m,t;
printf("请输入两个正整数n,m:
");
scanf("%d%d,",&n,&m);
if(n {t=n; n=m; m=t;} p=n*m; while(m! =0) {r=n%m; n=m; m=r;} printf("最大公约数为: %d\n",n); printf("最小公约数为: %d\n",p/n);} 步骤三: 输入程序,保存文件。 编译显示无误、连接、运行显示结果如下。 (2) 步骤一: 进入Visual C++环境后,执行“文件”|“新建”C++ Source File。 步骤二: 编写程序,输入两个正整数a和n,求a+aa+aaa+…+aa…a(n个a)之和。 编写程序如下: #include"stdio.h" intmain() { inta,b,n,i,s=0; scanf("%d%d",&a,&n); b=a; for(i=1;i<=n;i++) {s+=a; a=a*10+b;} printf("%d\n",s); } 步骤三: 输入程序,保存文件。 编译显示无误、连接、运行显示结果如下。 图3-2调试结果 (3) 步骤一: 进入Visual C++环境后,执行“文件”|“新建”C++ Source File。 步骤二: 编写程序,皮球从height米的高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,如此反复。 皮球在第n次反弹落地时,在空中经过的路程是多少米? 第n次反弹的高度是多少? (输出保留一位小数) 编写程序如下: #include #include main() { intn,i; doubleheight,distance,H,item; printf("Inputheight: "); scanf("%lf",&H); printf("Inputn: "); scanf("%d",&n); distance=H; item=0; for(i=1;i<=n;i++){ distance=distance+item; item=H/pow(2,n-1); } height=H/pow(2,n); printf("distance=%.1f\nheight=%.1f\n",distance,height); return0; } 步骤三: 输入程序,保存文件。 编译显示无误、连接、运行显示结果如下。 图3-3调试结果 3-2 (1) 步骤一: 进入Visual C++环境后,执行“文件”|“新建”C++ Source File。 步骤二: 编写程序,编写程序,找出200以内的所有完数,并输出其因子。 一个数若恰好等于它的各因子之和,即称其为完数,例如,6=1+2+3,其中1、2、3为因子,6为因子和。 编写程序如下: #include #include main() { inti,x,y,z; z=0; for(x=1;x<=200;x++) {z=0; for(i=1;i { if(x%i==0) {z+=i;} } if(x==z) {printf("x=%d\t",x); }} } 步骤三: 输入程序,保存文件。 编译显示无误、连接、运行显示结果如下。 图3-4调试结果 (2) 步骤一: 进入Visual C++环境后,执行“文件”|“新建”C++ Source File。 步骤二: 编写程序,输入一个正整数n,用两种方法分别计算下式的和(保留4位小数)。 1使用一重循环,不使用自定义函数。 程序如下: 1、#include main() {inti,n; doublesum=1,t=1; printf("inputn: \n"); scanf("%d",&n); for(i=1;i<=n;i++) {t=t*i; sum=sum+1/t;} printf("e=%lf",sum); } 步骤三: 输入程序,保存文件。 编译显示无误、连接、运行显示结果如下。 图3-5调试结果 (3) 步骤一: 进入Visual C++环境后,执行“文件”|“新建”C++ Source File。 步骤二: 编写程序: 定义和调用函数fac(n)计算n的阶乘。 如下: #include"stdio.h" longfact(intn) { if(n==1)return1; else returnn*fact(n-1); } voidmain() {intn; printf("inputn: \n"); scanf("%d",&n); printf("Theresult=%ld.\n",fact(n)); } 步骤三: 输入程序,保存文件。 编译显示无误、连接、运行显示结果如下。 图3-6调试结果 (4) 步骤一: 进入Visual C++环境后,执行“文件”|“新建”C++ Source File。 步骤二: 编写程序,输入两个正整数m和n(m≥1,n≤1000),输出m到n之间的所有水仙花数。 如下的程序: #include"stdio.h"main() {inti,j,k,n; printf("'waterflower'numberis: "); for(n=1;n<1000;n++) {i=n/100; j=n/10%10; k=n%10; if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) {printf("%-5d",n);} } printf("\n");} 步骤三: 输入程序,保存文件。 编译显示无误、连接、运行显示结果如下。 图3-7调试结果 图3-6调试结果 (5) 步骤一: 进入Visual C++环境后,执行“文件”|“新建”C++ Source File。 步骤二: 编写程序: 输入一个正整数n(n<7),输出n行由大写字母A,B,C,D…开始构成的三角形字符阵列图形。 程序如下: #include voidmain() {inti,j,n; printf("inputn: "); scanf("%d",&n); charch='A'; for(i=0;i {for(j=n-i;j>0;j--) {printf("%c",ch); ch++;if(ch>'Z')ch='A';} printf("\n");}} 步骤三: 输入程序,保存文件。 编译显示无误、连接、运行显示结果如下。 图3-8调试结果 实验步骤、实验分析: 实验步骤: 步骤一: 进入Visual C++环境后,执行“文件”|“新建”菜单命令。 步骤二: 在“新建”对话框中切换到“文件”选项卡,然后选择C++ Source File选项。 步骤三: 在右边的目录文本框中输入准备编辑的源程序文件的存储路径,在“文件”文本框中输入准备编辑的C源程序文件名。 然后单击“确定”按钮。 步骤四: 在光标闪烁的程序编辑窗口输入C程序,程序输入完毕后执行“文件”|“保存”命令。 步骤五: 执行“编译”|“编译”菜单命令,或单击工具栏上的“编译”按钮。 观察调试信息窗口输出编译的信息,如果有错,则修改后再编译,直至编译信息为: “0 error(s),0 warning(s)”,表示编译成功。 步骤六: 运行程序观察结果。 执行“编译”|“执行”。 实验分析: 了解简单C语言程序的构成和格式,在写出正确的源程序后,进行编译、连接、运行,便可得出相对应的结果。 整形变量: 定义时,用0初使化: inti=0。 在使用循环语句中,循环体可能一次都不执行,因为while后括号的条件表达式可能一开始就为0。 不要把由if语句构成的分支结构与由while语句构成的循环结构混起来。 当循环体需要无条件循环是,条件的表达式可以设为1恒为真。 do-while构成的循环中,总是先执行一次循环体,然后再求条件表达式的值,所以无论是0还是非0都至少要执行一次。 实验总结(包括过程总结、心得体会及实验改进意见等): 过程总结: 1、有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的。 2、一个C语言程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能进行。 3、更深一步了解了for语句和while语句,do-while语句的使用。 4、对于语法知识有了感性的认识,加深对它的理解,在理解的基础上就会自然而然地掌握c语言的语法规定。 心得体会: 学习C语言不能停留在学习它的语法规则,而是利用学到的知识编写C语言程序,解决实际问题。 即把C语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。 在编写程序中,真的是细节决定成败,因为不管程序的语句是多是少,但是只要有一条语句或语法不正确,就不能使程序得到所需要的结果。 没能够使自己编写出来的程序等到想要的结果,意味着这是一个不理想的程序,对于本次编写来说则是失败的。 有的时候调试不出来,就是因为一些小问题,(,;{}等还有语句的语法)所以开始要从小问题,学会基本的。 完成程序的编写,决不意味着万事大吉。 环境所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在。 程序的调试是一个技巧性很强的工作,尽快掌握程序调试方法是非常重要的。 指导教师评语: 1、完成所有规定的实验内容,实验步骤正确,结果正确; 2、完成绝大部分规定的实验内容,实验步骤正确,结果正确; 3、完成大部分规定的实验内容,实验步骤正确,结果正确; 4、基本完成规定的实验内容,实验步骤基本正确,所完成的结果基本正确; 5、未能很好地完成规定的实验内容或实验步骤不正确或结果不正确。 6、其它: 评定等级: A(优秀)B(良好)C(中等)D(及格)E(不及格) 成绩评定 教师签字 年月日 备注: 注: 1、报告内的项目或设置,可根据实际情况加以补充和调整 2、教师批改学生实验报告应在学生提交实验报告10日内
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 循环 结构 程序设计