C程序设计实验报告(实验四--循环结构程序设计)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第1页共6页第1页共6页池州学院实验报告姓名_学号专业年级1成绩____________课程名称:c语言程序设计教师签字___________实验项目实验四循环结构程序设计指导教师实验目的1.通过本实验,加深对循环控制结构有关概念的理解。2.熟练掌握while、do-while和for三种循环控制语句的特点,掌握循环结构程序设计和调试方法。3.掌握二重循环结构程序的设计方法。实验仪器计算机实验内容1.用while循环实现数据统计问题。数据统计问题:从键盘输入一批任意数量的整数,统计其中不大于100的非负数数值的个数。2.编写并调试程序,使用do-while循环控制语句实现上面的数据统计问题。调试数据仍参照上面给出的几种情况设计使用。3.编写并调试程序,使用for循环控制语句实现上面的数据统计问题。4.阶乘累加问题。编写程序,求1+2!+3!+…+n!的值。实验指导1.用while循环实现数据统计问题。⑴编程分析由于输入数据个数是不确定的,因此每次执行程序时,循环次数都是不确定的。在进行程序设计时,确定循环控制的方法是本实验的一个关键问题。循环控制条件可以有多种确定方法:①使用一个负数作为数据输入结束标志。②输入一个数据后通过进行询问的方式决定是否继续输入下一个数据。⑵参考程序参考程序一/*使用负数作为数据输入结束标志的程序*/#includestdio.hvoidmain(){intm,counter=0;while(1){第2页共6页第2页共6页}printf(符合要求的整数个数为:%d\n,counter);}l参考程序二/*通过进行询问的方式决定是否继续输入下一个数据的程序*/#includestdio.hvoidmain(){intm,counter=0;charask;while(1){printf(请输入一个整数:);scanf(%d,&m);getchar();if(m=0&&m=100)counter++;printf(继续输入下一个数据?(Y/N));ask=getchar();getchar();if(ask!='y'&&ask!='Y')break;printf(\n);}printf(符合要求的整数个数为:%d\n,counter);}⑶程序调试这里只对“参考程序一”的调试数据进行设计。该程序输入数据时,应考虑多种数据组合,对每一组数据察看并分析结果。例如:①输入的一组数据之间全部以空格分隔,只有最后一个数为负数,以回车键结束。如:16357–10②输入的一组数据之间全部以空格分隔,在负数之后又有正数数据,最后一个数不为负数,以回车键结束。如:16357–109617③输入的一组数据之间全部以空格分隔,输入数据中有多个负数,以回车键结束。如:16357–109617–877④输入的数据中有大于100的整数。如:16357–1096117–8726766⑤数据之间既用空格分隔,也用回车键分隔。如:7635376227179667第3页共6页第3页共6页9617–8771966982-1631⑥每输入一个数据后均按回车键。⑦输入的第一个数据即为负数。⑧在输入的数据中使用数值很大的整数。如:17667789876517899-109872.编写并调试程序,使用do-while循环控制语句实现数据统计问题。⑴参考程序/*使用负数作为数据输入结束标志的程序*/⑵调试指导调试数据仍参照上面给出的几种情况设计使用。3.编写并调试程序,使用for循环控制语句实现上面的数据统计问题。⑴参考程序/*用for循环控制语句实现的数据统计问题程序*/注意:for循环控制语句的一般格式通常有三个表达式,本参考程序中使用的for循环控制语句在格式上只有两个表达式。请读者注意学习这种用法。4.阶乘累加问题。⑴编程分析①本实验内容是求解阶乘问题。②求n!用一个循环即可实现。③求1+2!+3!+…+n!的值,需要在求n!程序之外增加一个外重循环。⑵参考程序/*求1+2!+3!+…+n!程序*/⑶程序调试①输入一个不大的正整数,分析程序执行结果。②输入一个零或者负数,分析程序执行结果。③输入一个很大的正整数,分析程序执行结果。④当程序结果不符合要求时,修改程序,直到对任何输入数据都能输出正确的执行结果,或者给出一个明确的提示信息。例如,当输入数据非法时,给出一个恰当的提示信息。系统(程序流程图、重要过程说明、参数设置、变量的说明等)第4页共6页第4页共6页实施测试报告(调试输入数据、结果数据或状态。给出一、两个不同的输入和结果)1.输入16357–10输出3输入16357–109617输出5输入16357–109617–877输出6输入16357–1096117–8726766输出5输入17667789876517899-10987输出34.输入3输出9结果分析(碰到的问题、如何解决、有何体会)程序结构掌握不熟,有待加强。多做习题,多看书。开始输入m,counterCounter=0M=100NM0YYN输出counter=counter+1=结束第5页共6页第5页共6页附录(主要的源程序代码)1.#includestdio.hvoidmain(){intm,counter=0;while(1){printf(“input:m”);scanf(“%d”,&m);if(m0)break;if(m=100)counter++;printf(“\n”);}printf(%d\n,counter);}2.#include“stdio.h”Voidmain(){intm,counter=0;do{printf(“input:m”);scanf(“%d”,&m)’if(m0)break;if(m=100)counter++;printf(“\n”);}while(1)printf(“%d\n”,counter);}3.#include“stdio.h”voidmain(){intm,counter;for(counter=0){第6页共6页第6页共6页printf(“input:m”);scanf(“%d”,&m);if(m0)break;if(m=100)counter++;printf(“\n”);}Printf(“%d\n”,counter);}4.#include“stdio.h”main(){ints=1,t,i,n;printf(“inputn:”);scanf(“%d”,&n);s=0;t=1;for(i=1;i=n;i++){t=t*I;s=s+t;}printf(“s=%d\n”,s);}

1 / 6
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功