项目五 数据结构的应用
一、项目(实训)名称
数组的应用
二、项目(实训)学时数
6课时
三、项目(实训)目标
实训目标:
1、进一步掌握模块化程序设计方法。
2、使用一维数组和二维数组的进行程序设计。
3、练习并掌握数组作为函数参数的用法。
4、至少掌握一种排序方法。
最终成果:
1、演示程序运行的过程和结果。
2、说明调试过程中出现的现象。
3、实训报告。
获得的知识:
1、数据结构和算法的关系。
2、组织数据的方法。
3、基于数据结构的算法设计
四、项目(实训)中的具体任务
1.编写程序,对n个数从小到大排序。
2.找出一个二维数组中的鞍点,即该位置上的元素在所在行为最大,在所在列为最小。如果没有这样的元素,请打印出相应的信息。
3.统计一个班的学生成绩。要求程序具有如下功能:
(1) 每个学生的学号和四门功课的成绩从键盘读入。
(2) 计算每个学生的总分和平均分。
(3) 按平均成绩进行排序,输出排序后的成绩单(包括学号、四门功课的成绩和平均分),给出名次。如果分数相同,则名次并列,其他学生名次不变。
五、教师知识和能力要求
1、C语言语法。
2、算法设计。
3、数据结构。
六、学生知识和能力准备
1、数组的定义和引用。
2、字符串的表示方法。
七、工具与设备
1、PC机。
2、Windows 2010操作系统。
3、Visual Studio C++ 6。
七、教学资料
《C语言程序设计》高禹著,北京理工大学出版社,2020.8
八、实施步骤与技术要点
1.编写程序,对n个数从小到大排序。
实验步骤与要求:
(1)任选一种排序方法进行编程。
(2)用sort()函数进行排序。
(3)在主函数中输入数据,调用sort()函数,分别打印出排序前和排序后的结果。
2.找出一个二维数组中的鞍点,即该位置上的元素在所在行为最大,在所在列为最小。如果没有这样的元素,请打印出相应的信息。
实验步骤与要求:
(1)画出此题的流程图。
(2)编写程序求矩阵中所有的鞍点并上机调试。
(3)输入的数据和输出的结果要详细记录。
3.统计一个班的学生成绩。要求程序具有如下功能:
(1) 每个学生的学号和四门功课的成绩从键盘读入。
(2) 计算每个学生的总分和平均分。
(3) 按平均成绩进行排序,输出排序后的成绩单(包括学号、四门功课的成绩和平均分),给出名次。如果分数相同,则名次并列,其他学生名次不变。
实验步骤与要求:
(1) 每个功能为一个独立的函数。
(2) 调试程序时,可先输入少量学生的成绩作为实验数据。如可输入3名学生4门课成绩:
学号成绩
9701 67,72,65,80
9702 75,82,94,95
9703 70,74,80,76
九、 考核或评价标准
实训成绩将主要根据学生对待实训的态度、对关键知识点和编程技巧的掌握程度、实训报告的内容、答辩情况等进行综合评定。最后的成绩将分优秀、良好、中等、及格和不及格五个等级。具体评判标准如下:
优秀:实训认真、刻苦,有钻研精神,不无故缺席。熟练掌握了本实训的关键知识点,具有良好的独立思考问题和解决问题的能力,具备了较好的C语言编程能力,编制的程序运行正确。实训记录内容丰富、齐全,答辩时能清晰明了地阐明问题,回答问题反映敏捷、思路清晰。
良好:能认真对待实训,不无故缺席。掌握了本实训的关键知识点,具备了较好的C语言编程能力,编写的程序运行正确。实训记录内容齐全,答辩时能清晰明了地阐明问题,能正确回答全部问题。
中等:能认真对待实训,不无故缺席。基本掌握了本实训的关键知识点,具备了一定的C语言编程能力,编写的程序运行基本正确,无致命错误。实训记录内容较齐全,答辩时能正确回答大部分问题。
及格:对待实训不够认真,有少量迟到、早退或无故缺席现象。基本掌握了本实训的主要内容,具有了用C语言编程的基本能力,但掌握不全面、扎实,编写的程序总体结构符合要求,基本能正常运行,但还存在少量错误。实训记录内容基本齐全,答辩时能在教师提示下正确回答大部分问题。
不及格:对待实训马虎、敷衍,经常迟到、早退或无故缺席。不能正确理解本实训的主要内容,不具备基本的C语言编程能力,编制的程序不能正常运行,或是抄袭他人程序,应付答辩。答辩时即使经教师提示仍不能正确回答大部分问题。

