高立秦的C语言实习报告
中 国 地 质 大 学 本科生课程论文封面
课程名称 C语言课程设计 教师姓名 童恒建 本科生姓名 高立秦 本科生学号 20101003173 本科生专业 资源勘查工程 所在院系 资源学院 日期: 2012年2月20日
目录
第一部分:课程设计编号、名称、内容 .....
第二部分:程序总体设计思路
第三部分:程序功能划分、图示及流程图
第四部分:程序设计数据、运行结果
第五部分:程序的优缺点
第六部分:程序改进思路
第七部分:附录(源程序)第八部分:程序设计总结
................... .. ......... .......................... .......................... .......................
..........................
第一部分:课程设计编号、名称、内容
编号:二十一题 名称:歌星大奖赛 内容:
【要求】
(1) 在歌星大奖赛中,有十个评委为参赛的选手打分,分数为1~100分。选手
最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均植。请编写一个程序实现。
(2) 同时对评委评分进行裁判,即在10个评委中找出最公平(即评分最接近
平均分)和最不公平(即与平均分的差距最大)的评委。
【提示】
一、 需求分析
这个问题的第一个要求算法十分简单,但是要注意在程序中判断最大、最小值的变量是如何赋值的。第二个要求为了考虑效率,要用到排序技术。
第二部分:程序总体设计思路
由于C语言是面对过程的语言,故我的设计思路是根据目标程序运行的过程来编写的。 王老师给我安排的是21题的《歌星大奖赛》,在编写本程序的过程中,首先我借助购买的指导材料,了解了一些目标程序运行的次序与界面的操作方法,然后按照题目的具体要求进行思考和设计。
因为老师抽签给我的程序比较简单,再加上前期实习时王老师交给的一些C的思路和方法,我很快便将整个程序的设计思路整理清楚。具体的设计思路如下:
程序的要求是根据十个评委对歌手的打分情况,求出这个歌手的平均成绩和最公平及最
不公平的裁判。首先,我先考虑到程序的数据输入,可以用scanf函数来解决,并将输入的数据存放于数组中。随后对存放在数组中的数据进行排序,这步为执行找出最不公平的裁判提高了效率,只需将排好序的数组的首尾分值与平均值进行比较即可。将排好序的数组中间的八个数求平均值即为此歌手的成绩,可见排序法可大大的简化程序。接下来是最后一个任务就是找最公平的裁判,此过程我使用拆半法,先将靠近中间的一个裁判假设为最公平的,再将他前面的裁判与之比较,找出前半部分的最公平的裁判,再将之与后半部分的进行比较,得出最终的最公平的裁判。为了方便管理员更好的使用界面操作,我还设置了每输入完一组数据并得到结果后,或接着输入下组数据或按0跳出界面。
整个程序的设计思路到此结束。
第三部分:程序功能划分、图示及流程图
【功能模块划分及其流程图】
本程序功能模块根据程序设计的需求,综合程序的实用性、人性化、智能化的考虑,将程序划分为6个部分分别编写,程序主体功能将由这6个部分来完成。这6个部分依次是:
1.分数的输入部分;
2.对分数进行的排序部分;
3.计算平均值的部分;
4.找出最不公平裁判部分;
5.找出最公平裁判部分;
6.数据的输出部分
总体设计:
系统功能模块图
第四部分:程序设计数据、运行结果
本程序是一款应用软件,故数据设计、程序运行结果应在程序的运用中得以体现,现在通过一个程序的运用事例来对数据设计、程序运行结果进行演示与实现:
【软件运用举例】
李明通过朋友介绍想了解裁判对某歌手的评分情况,于是到俱乐部管理员面前说明了意向,裁判部管理员启动歌手大奖赛管理系统。
程序开始界面如下:
管理员管理员输入评委对任意歌手的打分,输入完毕后程序如下菜单界面:
管理员输入输入完毕后,按[Enter]健,程序运行界面如下:
此程序显示了裁判对歌手的平均分数,以及根据裁判们打分与平均分数间的差距判断出的最公平和最不公平裁判的位置及打分!
为了向李明验证程序的准确性及公平与不公平裁判出现在每个裁判上的几率,管理员又输入了几位歌手的打分
管理员输入输入完毕后,按[Enter]健,程序运行界面如下:
接着又输入一组数据后运行如下:
当出现最高分的裁判和最低分的裁判各不止一个时,输入数据后程序界面的运行如下:
第五部分:程序的优缺点
【程序的优点】
算法是程序的灵魂,程序的优点首先表现在算法上的优点,其次才是功能上的。
[算法上的优点]主要体现在以下三点:
1. 程序采用main主函数方式设计,程序的主体的功能大都由该功能完成。程序如此设计
有利于程序的进一步改进及有助于程序执行效率的提高。
2. 程序对数据的读写采用了scanf 函数,此数据的读取与存贮方式有利于磁盘数据的加
密,即无法用记事本等程序对数据文件进行正常读取,即有助于数据的保护与加密。另外,对磁盘文本数据的修改有多种方式,通过对比研究发现,本程序采用scanf函数一次性把所有修改过的结构体数组写入文本文件的修改方式,不仅克服了本次程序设计中文本文件不能顺利准确读取的难点,而且相较于传统的fprintf()函数的写入方式与创建临时交换文件的写入方式,写入效率明显提高。
3. 程序执行使用for语句,C语言中的for语句使用是最为灵活的。不仅可以用于循环次
数已确定的情况,而且可以用于循环次数不确定而值给出循环结束条件的情况,他完全可以代替while语句!有助于相应功能准确高效运行。
当然,程序的编写白手写起的,历时3天,克服了非常多的困难,感觉到了很大的压力。程序是在边看书、边查资料、询问、长期思考与设计、调试、试验的基础上编写出来的,在编写程序的过程中,得到了许多的锻炼,编程的思维也得以塑造。
程序经过数次精简,但仍然比较大,可能是编程经验不足造成的,虽不能说本程序比一定他人与此相同的程序运行效率更高,占有资源更少,但是程序执行的准确性还是能够保障的。
[功能上的优点] 主要体现在以下三点:
1.简洁明了的程序菜单。程序主要采用了四组层次不同的菜单,相互独立又相互联系,巧
妙相接,符合用户的使用习惯与思维。
2.人性化的程序提示语言,程序提示语言较人性化,不仅大多为祈使语句、疑问句,而且
提示明确,具有较强的明确的指导作用。程序提示不仅层次分明,提示方式多样,而且提示信息井然有序,更加有利于用户顺利、准确地看懂程序并进行操作。 3.程序采用先对裁判分数进行排序,再将排序后首尾的分数直接与平均值进行比较,得出
最差裁判。即方便的让用户能看懂程序,又提高了计算的效率,减少了运算的次数.再如每次评判结果操作结束后,均会提示是否返回主菜单,并提示是否再进行类似输入操作,这样给用户带来了操作的方便,大大提 …… 此处隐藏:2718字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [专业资料]《蜜蜂之家》教学反思
- [专业资料]过去分词作定语和表语1
- [专业资料]苏州工业园区住房公积金贷款申请表
- [专业资料]保安管理制度及处罚条例细则
- [专业资料]2018年中国工程咨询市场发展现状调研及
- [专业资料]2015年电大本科《学前教育科研方法》期
- [专业资料]数字信号处理实验 matlab版 离散傅里叶
- [专业资料]“十三五”重点项目-虎杖白藜芦醇及功
- [专业资料]2015-2020年中国竹木工艺市场需求及投
- [专业资料]国际贸易理论与实务作业五:理论案例分
- [专业资料]财政部修订发布事业单位会计制度
- [专业资料]BCA蛋白浓度测定试剂盒(增强型)
- [专业资料]工程进度总计划横道图模板(通用版)
- [专业资料]七年级地理同步练习(天气与气候)
- [专业资料]X光安检机介绍火灾自动报警系统的组成
- [专业资料]衢州市人民政府办公室关于印发衢州市区
- [专业资料]经济全球化及其影响[1]
- [专业资料]质粒DNA限制性酶切图谱分析
- [专业资料]国家安全人民防线工作“六项”制度
- [专业资料]劳动力投入计划及保证措施
- 电子账册联网监管培训手册
- 人教版语文七年级上第1课《在山的那边
- 对我区担保行业发展现状的思考与建议
- 平面四边形网格自动生成方法研究
- 2016年党课学习心得体会范文
- 如何设置电脑定时关机
- 全球最美人妖排行榜新鲜出炉
- 社会实践调查报告及问卷
- Visual Basic习题集
- 《鱼我所欲也》课件2
- 浙江省会计从业资格考试试卷
- 全遥控数字音量控制的D 类功率放大器资
- 鞍钢宪法与后福特主义
- 电表的改装与校准实验报告(1)
- 2014年高考理科数学真题解析分类汇编:
- Windows 7 AIK 的使用
- 风电场全场停电事故应急处置方案
- 化工原理选填题题库(下)
- 关于产学研合作教育模式的学习与思考
- 西安先锋公馆项目前期定位报告




