ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:445.26KB ,
资源ID:23974971      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/23974971.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算机基础综合实验报告.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算机基础综合实验报告.docx

1、计算机基础综合实验报告(此文档为word格式,下载后您可任意编辑修改!)综合实验报告课程代码: 033027Q2 电 子 信 息 学 院Electronic Information School2012年 10 月目 录1 综合实验任务与要求 31.1综合实验任务 31.2综合实验的基本内容和要求 32 问题描述及详细设计 .52.1系统主界面 5 2.1.1 主控程序结构图及程序框图.5 2.1.2操作运行说明.6 2.1.3主菜单调试情况分析.6 2.1.4主程序.72.2成绩处理 8 2.2.1程序结构图及程序框图.8 2.2.2操作运行说明.10 2.2.3调试情况分析.10 2.2.

2、4主程序.112.3求灯塔 12 2.3.1程序结构图及程序框图.12 2.3.2操作运行说明.13 2.3.3调试情况分析.13 2.3.4主程序.132.4求Sn 14 2.4.1程序结构图及程序框图.14 2.4.2操作运行说明.16 2.4.3主菜单调试情况分析.16 2.4.4主程序.162.5泰勒级数 17 2.5.1程序结构图及程序框图.17 2.5.2操作运行说明.19 2.5.3主菜单调试情况分析.19 2.5.4主程序.192.6 约瑟夫环问题 20 2.6.1程序结构图及程序框图.20 2.6.2操作运行说明.22 2.6.3主菜单调试情况分析.22 2.6.4主程序.2

3、22.7 编写一个函数 23 2.7.1程序结构图及程序框图.23 2.7.2操作运行说明.25 2.7.3主菜单调试情况分析.25 2.7.4主程序.253 系统使用的主要函数.264综合试验小结.27参考文献.281 综合实验任务与要求1.1综合实验任务C语言程序设计是本科工科类各专业的重要基础课,主要学习程序设计的基本概念和方法,通过本门课程学习,使学生掌握C语言的基本原理,熟练掌握程序设计的基础知识、基本概念;掌握程序设计的思想和编程技巧。计算机基础综合实验(2)是在学生已经具备了使用C语言编写简单的应用程序的能力,为使学生对C语言有更全面的理解,进一步提高运用C语言编程解决实际问题的

4、能力,通过提出算法、指定输入输出来设计一个解决方案。并为参加计算机等级考试作准备。1.2综合实验的基本内容和要求参加综合实验的学生,应当认真完成综合实验的全部内容。最终提交综合实验成果来证明其独立完成各种实际任务的能力。从而反映出理解和运用本课程知识的水平和能力。具体如下:1代码编写规范,形成良好的编程习惯;2程序须有一定的健壮性和必要的提示信息,考虑问题的多种可能和边界数据。3提交系统程序源代码、综合实验报告(电子稿和装订的打印稿)。综合实验报告内容包括以下几个方面: 程序的总体设计和算法分析。 程序流程图、函数说明 源程序代码清单 测试数据和测试过程记录 遇到的问题及解决方法分析 综合实验

5、小结4. 程序运行方式,构建一个简易菜单,形如: 用户通过输入数值选择所需运行的子程序,当一个子程序运行结束后回到菜单界面,直至用户输入0后退出程序。2问题描述及详细设计2.1 系统主界面 2.1.1 主控程序结构图及程序框图:2.1.2操作运行说明按屏幕提示输入0-6进行菜单选择。1.2.1.3主菜单调试情况分析调试主控模块时,发现程序有错误,在仔细的分析了程序以后,发现问题出在了头文件的名字上。头文件的文件名没有与主控模块中的名字一样,导致程序无法识别头文件。同时在调试主控模块时,还发现必须把头文件中的main改掉,因为一个程序必须且只能存在一个main函数。最后,在完成了头文件和主控程序

6、的程序检查后还必须将他们放在一个文件夹中否则也无法运行程序。这些都是在调试文件时我出现的问题和最后解决的方法。程序的控制变量范围的选择要注意范围,否则容易导致无限循环,解决办法编辑时须保持严谨的状态,思维要严谨。在定义函数的时候,在函数前面加了类型,比如没有返回值的时候定义成int类型的,在主控函数调试的时候就会出现错误。解决办法:将函数类型改成void类型,即不返回任何值。2.1.4主程序:#include stdio.() int c; char ch; ch=y; while (ch=y|ch=Y) printf(ntt *); printf(ntt *=C 实训课题 演示系统 =*);

7、 printf(ntt *=主 菜 单 =*); printf(ntt *=*); printf(ntt *=1、成绩处理 =*); printf(ntt *=2、求灯塔=*); printf(ntt =3、求Sn=); printf(ntt *=4、泰勒级数=*); printf(ntt *=5、约瑟夫环问题=*); printf(ntt *=6、编写一个函数 =*); printf(ntt *=0、退出=*); printf(ntt *); printf(ntt 请选择菜单号(0-6):); scanf(%d,&c); getchar(); switch(c) case 1:fun1();

8、break; case 2:fun2();break; case 3:fun3();break; case 4:fun4();break; case 5:fun5();break; case 6:fun6();break; case 0:ch=n;break; default:printf(菜单选择错误!请重新输入!); 2.2成绩处理 编写程序,实现以下成绩处理功能(输出格式参见示例): 1)输入n和n个成绩(成绩为浮点数类型,数组名记为a,假设1n50); 2)计算并输出成绩的累加和(记为sum)与平均成绩(记为ave),将ave的成绩归为A档,将ave的成绩归为B档; 3)分别统计A、B

9、两档的人数,计算在总人数中的比率;4)求出A档学生的最低分和B档学生的最高分,它们与平均成绩的差值。 分析:根据题意,输入学生数n及n个成绩,通过循环求累加和(记为sum),平均成绩(记为ave),通过比较,分为A,B档,并求出比率,以及A档学生的最低分和B档学生的最高分,它们与平均成绩的差值。2.2.1 程序结构图及程序框图:2.2.2 操作运行说明 输入1进入,弹出“输入学生数”,输入10个,根据提示,任意输入10个学生的成绩,按回车键,得出结果,如下运行界面:2.2.3调试情况分析 在调试此程序时,由于程序过长,在大小写的输入上出现了应该有的错误,比如再输到“MinA”是,由于没有及时切

10、换,输成了“MINA”,后导致调试时出现一个错误,不过,我还是及时的发现了问题并纠正过来。另一个出现的问题就是强制装换,如perA=(float)numAn*100,由于当时没有意识到numA定义的是整型,所以在运行时,输出的结果显示比率全为“0.0%”,通过查找上学期学的C程序设计教程与实验,在P91例5-7,找到一个类似的程序,发现需要强制转换,所以通过改正,调试运行,得到了正确的结果。2.2.4程序#includestdio.() int n,i,numA=0,numB=0; float a80,ave,sum=0,perA,perB,MinA,MaxB,lessA,lessB; pri

11、ntf(输入学生数:n); scanf(%d,&n); printf(输入%d个成绩:n,n); for(i=0;in;i+) scanf(%f,&ai); for(i=0;in;i+) sum+=ai; ave=sumn; printf(sum=%.1f,ave=%.1fn,sum,ave); MinA=100; MaxB=0; for(i=0;i=ave) MinA=ai; numA+; if(aiMaxB) MaxB=ai; perA=(float)numAn*100; perB=(float)numBn*100; lessA=MinA-ave; lessB=MaxB-ave; prin

12、tf(A:%d,%.1f% B:%d,%.1f%n,numA,perA,numB,perB); printf(MinA:%.1f,%.1fMaxB:%.1f,%.1fn, MinA,lessA,MaxB,lessB);2.3 求灯塔 有一个八层高的灯塔,每层所点灯数都等于上一层的两倍,一共有765盏灯,求塔底灯数。分析:已知每层所点灯数都等于上一层的两倍,并且告诉我们一共有765盏灯,根据题意,我们可以设x为塔底灯数,y为塔顶灯数,列出关系式,765=(20+21+22+23+24+25+26+27+28)*y,x=27*y;然后构建程序,输出结果。2.3.1 程序结构图及程序框图:2.3.2

13、 操作运行说明 输入2进入,直接弹出如下运行界面:2.3.3调试情况分析 在调试这个程序时,由于设计时,未完全考虑到该程序用到了函数,所以遗漏了“#includemath.() int y,x; y=765(2*2*2*2*2*2*2*2-1); x=2*2*2*2*2*2*2*y; printf(塔底灯数是:%dn,x);2.4求Sn 求的值,其中a是一个数字,如2+22+222+2222+22222(此时a=2,n=5),a和n均由键盘输入。分析:根据题意,首先对a,n取值,从a到n个a的累加和,可以看做每一项a=a*10的变化,然后每一项累加,输出Sn的值。 2.4.1 程序结构图及程序

14、框图: N N YY 2.4.2 操作运行说明 输入3进入,弹出“请输入a和n的值”,输入2 和5,得到如下运行界面:2.4.3调试情况分析 在调试这个程序时,弹出“请输入a和n的值:”时,我出入了“2,5”,然后就显示,后检查了程序,发现“scanf(%d%d,&a,&n)”,2和5之间是不能出现逗号的,应该为空格。修正之后,就正确了。2.4.4程序#includestdio.() int a,n,k=1,s1=0,s2=0; *定义变量类型为整型* printf(请输入a和n的值:); scanf(%d%d,&a,&n); *输入a和n* while(k=1e-5)”,在之前,我的程序是“

15、while(term=1e-5)”,主要区别就是“fabs”,由于审题不够清晰,题目中明明显示的是“要求最后一项的绝对值小于10-5”,导致出现的结果为通过验算这显然是不对的,与同学比较了之后,原来是忘了绝对值,改正之后,输出正确运行界面,如下:。2.5.4程序#include=1e-5) term=-term*x*x(n+1)*(n+2); sum=sum + term; n=n+2; count+; printf(sin(x)=%.1f,count=%dn,sum,count);2.6约瑟夫问题 约瑟夫环问题:编号为1,2,3,.,n的n个人按顺时针方向围坐一圈,每人持有一个正整数密码。一

16、开始任选一个正整数m作为报数上限值,从第一个人开始按顺时针报数,报到m时停止,报m的人出列,将他的密码作为新的m值,从他在顺时针方向的下一个人开始重新从1报数,如此下去,直到所有人全部出列为止。设计程序求出出列顺序。分析:先对n个人赋值,值为每人持有的正整数。接着,用for语句判断是否达到报数上限m,另一条for语句来改变m的值并记录出列顺序。2.6.1 程序结构图及程序框图: N Y NY2.6.2 操作运行说明输入5,弹出“Enter n&m”,输入15 35,回车,弹出“Enter code array:”,输入任意15个正整数,得到如下运行界面:2.6.3调试情况分析 调试这个程序还比

17、较顺利,主要是由于在设计这个函数时,由于难度有点大,我向同学和老师请教之后,并参考其他同学的设计方案设计出这个程序。因此,在吸取了其他同学的经验之后,正确设计了这个个程序,并且调试中没有出现大的问题。2.6.4程序#include stdio.() int a100; int i,j,m,n,k=0; printf(Enter n & m:); scanf(%d%d,&n,&m); printf(Enter code array :); for (i=0;in;i+) scanf(%d,&ai); printf(nOutput:n); for (i=0;in;i+) j=1; while (jm) while (ak=0) *跳过已出列的人* k=(k+1)%n; j+; k=(k+1)%n; while (ak=0) *跳过已出列的人* k=(k+1)%n; printf(%d ,k); m=ak; ak=0; 2.7编写一个函数 编写一个函数,将一个长整型的数中所包含的偶数数字依次取出,构成一个新数返回。要求在主函数中输入长整型的数,调用函数进行转换,在主函数中输出新的数。例如,当输入的数为时,则返回的数为8842. 分析:先定义函数f(),对a除10取余从低位到高位一次判断奇偶性,若是偶数则输出,最后输出新数 2.7.1 程序结构图及程序框图:

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1