




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验四 数据类型与程序控制综合一、目的和要求1. 掌握C+语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符;2. 学会使用C+的有关算术运算符,以及包含这些运算符的表达式,特别是自加()和自减()运算符的使用;3. 进一步熟悉C+程序的编辑、编译、连接和运行的过程;4. 掌握数据的输入输出方法。5. 掌握Visual C+6.0集成环境中的单步执行;6. 熟悉if 与switch语句的格式、执行过程、使用方法及典型案例;7. 学会使用选择结构解决一般的实际问题,能编写简单的应用程序。8. 掌握循环结构while、dowhile、for等语句格式、执行过程、使用方法及典型案例。9. 学习循环结构的嵌套使用。10. 掌握分支与循环综合程序的编写方法;11. 学习并熟悉break、continue的区别与使用。12. 学会常用数值与图形的编程方法。二、实验设备1 Windows XP操作系统;2 Visual C+6.0语言环境;3 每人一台PC机。三、内容和步骤(一) 验证分析程序1 由键盘输入三个数,判断能否构成三角形。分析:判断b+ca是否成立,若不成立则一定不能构成三角形;若成立则有可能构成三角形,再判断b-ca是否成立。因b-c有可能小于0,用b-ca时不能准确描述两边之差小于第三边,需取绝对值进行分析。参考程序如下:#includevoid main()double a,b,c,t;cout请输入a的值a;cout请输入b的值b;cout请输入c的值c;t=b-c;if(ta)if(ta) cout能构成三角形endl;else cout不能构成三角形endl;else cout不能构成三角形a2+b2 时,为钝角三角形;当c2a2+b2 时,为锐角三角形。2 某商店“五一”长假期间购物打折。规则如下:若每位顾客一次购物, 满1000元,打九折; 满2000元,打八折; 满3000元,打七折; 满4000元,打六折; 5000元,打五折;编写程序,输入购物款,输出实收款。解:本例使用了if-else if语句进行多重判断。参考程序如下:#includevoid main() double m,p; coutm; if(m1000)p=m; else if (m2000)p=0.9*m; else if(m3000) p=0.8*m; else if(m4000) p=0.7*m; else if(m5000) p=0.6*m; else p=0.5*m; cout实收款:pendl;3 有下列分段函数:编一程序,输入x,输出y的值。解:程序如下:#include void main() float x,y;coutx;if (x=0)if (x=10)y=x*x*x;elsey=x*x-5;elsey=x+1;couty=yendl;运行结果:Input x: -3y=-24 计算:S=1+2+3+4+n。真假insum=sum+ii+开始输入nsum=0i=1输出sum结束图4.1 求累加和流程图解:程序流程图如图4.1所示,程序如下:#include void main() int i,n,sum; coutn; sum=0; i=1; while (i=n) sum=sum+i; i+; coutsum=sumendl;运行结果: Input an integer:5 sum=155 裴波那契数列的前几个数为1,1,2,3,5,8,其规律为:F1=1(n=1)F2=1(n=2)Fn=Fn-1+Fn-2 (n3)编写程序求此数列的前面40个数。分析:可设两个变量f1和f2,它们的初值为f1=1,即数列的第1项,f2=1,即数列的第2项,用一个循环结构来求数列的前40项,每次处理两项,所以共循环20次,进入循环后,首先输出f1、f2,然后令f1=f1+f2,即可求得第3项,再令f2=f2+f1,注意此时的f1已经是第3项了,所以可求得第4项;进入下一次循环时,首先输出第3、4项,然后按上述方法求得第5、6项,以此类推即可求得前40项。解:#include #include void main() long int f1,f2; int i; f1=1;f2=1; for (i=1;i=20;i+) coutsetw(12)f1setw(12)f2; if (i%2=0)coutendl; f1=f1+f2; f2=f2+f1; 例中“if”语句的作用是使在一行中输出4个数。运行结果: 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 121393 196418 317811 514229 832040 1346269 2178309 3524578 5702887 9227465 14930352 24157817 39088169 63245986 1023341556 求出100200之间的所有素数,输出时一行打印五个素数。分析:判断一个数a是否为素数,只需将它整除以2(取整)即可,如果都不能整除,则a就是素数。解:#include #include #include void main(void) int a,k,i,n; n=0; for (a=100;a=200;a+) k=sqrt(a); for (i=2;ik)/若ik,则i为素数 coutsetw(12)a; /输出素数 n=n+1;/对素数统计个数 if (n%5=0) coutendl; coutendl;程序运行后,输出,: 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 1997 编写程序用公式计算e的近似值。直到最后一项小于给定精度。分析:这是一个累加求和的问题,仔细分析各项,可以发现从第二项开始,各项的值为前一项除以序号n:解:#include void main()double e = 1.0,x = 1.0,y,z;int n=1;coutz ;y=1/x ;while(y=z)x*=n;y=1/x;e+=y;+n; couteendl;思考:l 将程序中while结构改写为dowhile,观察程序的运行结果。l 增加“continue”或“break”语句,使程序在输入数据大于0.01时,显示“精度要求太低,请重新输入”的提示。8 有一对兔子,从第3个月起每个月生一对兔子,小兔子从第3个月起每个月又生一对兔子。假设所有兔子都不死,编程序计算每个月的兔子是多少对?(求20个月)。分析:从第3个月开始,下个月兔子的对数为本月兔子的对数与上月兔子对数之和。这样可得出该序列的规律是:从第3项开始,该项的值为前两项之和。兔子数目的规律是: 1、1、2、3、5、8、13、21、。解:#include void main( ) int f1,f2,f3; int i; f1=f2=1; for(i=3;i=20;i+) /A f3=f1+f2; couti月兔子对数为:f3=3;i-)”后,观察程序运行结果;l 画出本例的流程图。9 编写程序打印如图4-2所示蝶形图形。分析:此图形为上下对称结构,用-33的整数标识行号i,则每行字符“B”的个数可表示为6*|i|+1。每行字符“B”前空格的个数随着|i|的增大而减少,空格的个数要大于0。解:BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB图4-2 蝶形# include void main()int i,j,k,d; for(i=-3;i=3;i+)coutendl;d=i;if (i0) d=-i;for (j=1;j=10-3*d;j+)cout ;for (k=1;k=6*d+3;k+)coutB;coutendl; 思考:l 将程序中的“for(j=1;j=10-3*d;j+)”用“for(j=1;j=30-3*d;j+)”改写后,观察程序运行结果。l 将程序中的“for(i=-3;i=3;i+)”用“for(i=-10;i=10;i+)”改写后,观察程序运行结果。l 将程序中的“for (k=1;k=6*d+3;k+)”用“for (k=1;k=10*d+3;k+)”改写后,观察程序运行结果。10 将下列do-while结构修改为while结构,分别观察输出结果。#include void main()int a=0; /Adoa+;couta=a1);思考:l 将条件while(a1)改为while(a),分别观察输出结果。l 将A语句改为a=-10,while(a1)改为while(a),计算循环执行的次数。11 从键盘输入任意多个整数(-999为结束标志),计算其中正数之和。分析:采用转向语句break和continue实现。break在循环体中用于退出本层循环;continue用于结束本次循环。解:#include void main()int x,s=0;while(1)cinx;if (x=-999) break; /Aif (x0) continue; /Bs=s+x;couts=s0,b0,计算a0,b0,计算a2+b2值a0,计算a*eb的值a0,b0,计算ab值编写程序实现以上功能。 提示:学会看帮助,直接打开头文件math.h查看可用的数学函数,找到pow函数2、从键盘输入一数,如果该数大于0,求该数的平方根,否则输出“该数少于0”。3、输入一个百分制成绩,要求输出成绩相应的等级(A:90 分以上,B:80-89,C:70-79,D:60-69,E:60 分以下),要求用switch 语句实现。4、要求从键盘输入三个数,把三个数从大到小输出,直到输入的三个数都为0,程序结束。5、完备数:一个数的真因子和-除了本身以外的正因子和刚好等于它本身, 则称此数为完被数。最小的完备数是6,因为6的真因子有1、2、3,加起来正好等于6;下一个是28,因为12471428。请编程找出100000以下的所有完备数。四、课后作业1. 课后作业74页4.8题中的两个打印图形题。2. 课后作业75页4.9题中的(2)和(3)打印乘法表。3. 撰写实验报告。实验报告格式实验内容涉及四个部分,即“目的和要求”、“实验设备”、“内容和步骤”及“课后练习”。要求同学们独立完成题目要求,写出代码,调试通过。“课后练习”部分的题目留作同学们自行练习,并撰写实验报告。本实验课程的主要成果之一就是实验报告,要严格按照以下格式书写,内容详实,实验数据的采集要准确合理,实验结果的分析及时、全面。实验报告
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 清洁剂配方师入职考核试卷及答案
- 烟类作物栽培工5S管理考核试卷及答案
- 饱和潜水员工艺创新考核试卷及答案
- 区块链应用操作员三级安全教育(公司级)考核试卷及答案
- 辐射防护培训课程设计报告
- 品牌营销效果对比分析报告
- 陶瓷砖跨境电商支付解决方案分析报告
- 橡胶合成工厂安全设施评估报告
- 丙烯腈-丁二烯-苯乙烯共聚物(ABS)装置操作工新员工考核试卷及答案
- 加工误差检测与分析报告
- 2025年数字解密:药食同源生意下最香的成分与赛道研究报告
- 2025年高考真题-化学(湖南卷) 含答案
- 《第六届江苏技能状元大赛技术文件-健康与社会照护》
- 客户拜访技巧讲课件
- 测绘安全课件
- 新生儿发热及护理措施
- 医学实验室安全培训
- 工贸企业安全生产标准化诊断报告编制指南
- 离子检验-教案-
- GB/T 12643-2025机器人词汇
- Unit 5 Lesson 20 The Spring Festival Is Coming!(说课稿)-2024-2025学年冀教版(三起)英语五年级上册
评论
0/150
提交评论