



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验四、分支循环结构程序设计一、实验目的1通过本实验,加深对循环控制结构有关概念的理解。2熟练掌握while、do-while和for三种循环控制语句的特点,掌握循环结构程序设计和调试方法。3掌握二重循环结构程序的设计方法。二、实验内容1用while循环实现数据统计问题。数据统计问题:从键盘输入一批任意数量的整数,统计其中不大于100的非负数数值的个数。2编写并调试程序,使用do-while循环控制语句实现上面的数据统计问题。调试数据仍参照上面给出的几种情况设计使用。3编写并调试程序,使用for循环控制语句实现上面的数据统计问题。4阶乘累加问题。编写程序,求1+2!+3!+n!的值(习题5.9
2、)。三、实验指导1用while循环实现数据统计问题。 编程分析由于输入数据个数是不确定的,因此每次执行程序时,循环次数都是不确定的。在进行程序设计时,确定循环控制的方法是本实验的一个关键问题。循环控制条件可以有多种确定方法: 使用一个负数作为数据输入结束标志。 输入一个数据后通过进行询问的方式决定是否继续输入下一个数据。 参考程序l参考程序一/* 使用负数作为数据输入结束标志的程序 */#include "stdio.h"void main() int m,counter=0; while(1) printf("请输入一个整数:"); scanf(&qu
3、ot;%d",&m); if(m<0)break; if(m<=100)counter+; printf("n"); printf("符合要求的整数个数为: %dn",counter);l参考程序二/* 通过进行询问的方式决定是否继续输入下一个数据的程序 */#include "stdio.h"void main() int m,counter=0; char ask; while(1) printf("请输入一个整数:"); scanf("%d",&m);
4、1 / 4 getchar(); if(m>=0&&m<=100)counter+; printf("继续输入下一个数据?(Y/N)"); ask=getchar(); getchar(); if(ask!='y'&&ask!='Y')break; printf("n"); printf("符合要求的整数个数为: %dn",counter); 程序调试这里只对“参考程序一”的调试数据进行设计。该程序输入数据时,应考虑多种数据组合,对每一组数据察看并分析结果。例
5、如: 输入的一组数据之间全部以空格分隔,只有最后一个数为负数,以回车键结束。如:16 35 7 10 输入的一组数据之间全部以空格分隔,在负数之后又有正数数据,最后一个数不为负数,以回车键结束。如:16 35 7 10 96 17 输入的一组数据之间全部以空格分隔,输入数据中有多个负数,以回车键结束。如:16 35 7 10 96 17 87 7 输入的数据中有大于100的整数。如:16 35 7 10 96 117 87 267 66 数据之间既用空格分隔,也用回车键分隔。如:76 35 376 22 717 96 67 96 17 87 719 66 98 2 -16 31 每输入一个数据
6、后均按回车键。 输入的第一个数据即为负数。 在输入的数据中使用数值很大的整数。如:17 66778 98765 17 899 -109 87 在上面的“参考程序一”中,使用了常数“1”作为循环控制的条件,这是常用的循环控制方式。请修改上面的程序,不使用常数循环条件,仍然使用while语句实现数据统计问题。2编写并调试程序,使用do-while循环控制语句实现数据统计问题。 参考程序/* 使用负数作为数据输入结束标志的程序 */#include "stdio.h"void main() int m,counter=0; do printf("请输入一个整数:&quo
7、t;); scanf("%d",&m); if(m<0)break; if(m<=100)counter+; printf("n"); while(1); printf("符合要求的整数个数为: %dn",counter); 调试指导调试数据仍参照上面给出的几种情况设计使用。3编写并调试程序,使用for循环控制语句实现上面的数据统计问题。 参考程序/* 用for循环控制语句实现的数据统计问题程序 */#include "stdio.h"void main() int m,counter; for
8、(counter=0;1;) printf("请输入一个整数:"); scanf("%d",&m); if(m<0)break; if(m<=100)counter+; printf("n"); printf("符合要求的整数个数为: %dn",counter);注意:for循环控制语句的一般格式通常有三个表达式,本参考程序中使用的for循环控制语句在格式上只有两个表达式。请读者注意学习这种用法。 请修改程序,使用完整格式的for循环控制语句实现上面的数据统计问题。4阶乘累加问题。 编程分析 本
9、实验内容是求解阶乘问题。 求n!用一个循环即可实现。 求1+2!+3!+n!的值即为求1+ ,需要在求n!程序之外增加一个外重循环。 参考程序/* 求1+2!+3!+n!程序 */#include "stdio.h"void main() long int s=1,t; int i,j,n; printf("n="); scanf("%d",&n); for(i=2;i<=n;i+) for(t=1,j=1;j<=i;j+) t*=j; s+=t; printf("s=%ldn",s); 程序调试 输入一个不大的正整数,分析程序执行结果。 输入一个零或者负数,分析程序执行结果。 输入一个很大的正整数,分析程序执行结果。 当程序结果不符合要求时,修改程序,直到对任何输入数据都能输出正确的执行结果,或者给出一个明确的提示信息。例如,当输入数据非法时,给出一个恰当的提示信息。四、思
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高压电气基础知识课件
- 2025安徽黄山太平湖文化旅游有限公司招聘1人笔试历年参考题库附带答案详解
- 2025年医药卫生考试-职称医古文考试历年参考题库含答案解析(5卷一百题单选合辑)
- 2025福建福州新区城市运营有限责任公司第三次社会招聘6人笔试历年参考题库附带答案详解
- 氯吡嘧磺隆200吨、噻酮磺隆500吨项目可行性研究报告写作模板-申批备案
- 2022年阜阳市小学三年级语文第三单元考试试卷
- 禁毒题目及答案
- 加密技术商业秘密防护-洞察及研究
- 2022年邓州市小学三年级语文第六单元考试试卷
- 2025年互联网金融平台资金存管业务安全防护技术选型与实施效果评估报告
- 可靠性测试检验报告
- 《中医拔罐与诊断》课件
- 外购产品管理制度
- 职业院校教学质量监控与评价
- 《无人机载荷与行业应用》教学课件合集
- 履约能力证明
- 二手房买卖合同(卖方版本)
- 麻醉术前风险评估记录单
- 机关单位管理制度汇编
- 隐蔽工程签证记录实用文档
- 2019特种设备检验检测方案编制通用要求
评论
0/150
提交评论