教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 专业资料 >

高立秦的C语言实习报告

来源:网络收集 时间:2026-09-02
导读: 中 国 地 质 大 学 本科生课程论文封面 课程名称 C语言课程设计 教师姓名 童恒建 本科生姓名 高立秦 本科生学号 20101003173 本科生专业 资源勘查工程 所在院系 资源学院 日期: 2012年2月20日 目录 第一部分:课程设计编号、名称、内容 ..... 第二部分:程序

中 国 地 质 大 学 本科生课程论文封面

课程名称 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字,全部文档内容请下载后查看。喜欢就下载吧 ……

高立秦的C语言实习报告.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/266644.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)