欢迎来到天天文库
浏览记录
ID:47455667
大小:147.91 KB
页数:6页
时间:2020-01-11
《成绩排序系统(练习排序算法和复习C语言)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验一一、实验目的1.回顾C语言中的输入、输出及结构体等相关知识点;2.回顾函数的使用;3.掌握插入排序、交换排序、选择排序中的常用排序的算法思想;4.掌握插入排序、交换排序、选择排序中的常用排序的算法实现;5.掌握各种常用排序时间复杂度,比较各种排序的优缺点。二、实验要求1.复习课本中第9章关于内部排序的相关知识点;2.用C语言完成算法和程序设计并且调试通过;三、实验回顾内容1.C语言的基本输入输出① scanf()输入函数:在头文件stdio.h中声明,使用scanf函数时要加上#include。注意:函数传递变量的地址,因此在整型变量、实型变量和字符型变量之
2、前必须加上“&”,而数组名则不用。② printf()输出函数:在头文件stdio.h中声明,使用scanf函数时要加上#include。③ 格式字符:用以指定输出项的数据类型和输出格式。常见的格式字符如下图所示。说明:也可以使用cin,cout,使用时注意包含的头文件。1.结构体的运用① 定义结构体类型,定义结构体变量② 用typedef语句为结构体类型定义新的类型名③ 结构体变量的引用例x.num;pt->num1.函数的使用① 函数的定义。类型名函数名(形式参数表){函数体;}② 函数的调用。特别注意形参与实参是按值传递还是按址传递。2.排序的应用① 插入排
3、序(直接插入、折半插入、希尔排序)。② 交换排序(冒泡排序,快速排序)。③ 选择排序(简单选择排序,堆排序(待定))。④ 其他三、实验题目及要求v基本题1:用结构体表示复数抽象数据类型,并根据下面的内容,完成以下内容:① 验证复数的创建,复数的输出及复数的相加。② 根据这些内容提示,编写相应的函数求两个复数的差、积(其他运算功能以此类推)。v基本题2:学生成绩管理(1)下面是学生的数据结构,请用结构体定义学生数据。序号数据成员数据类型(参考)长度(参考)字段含义1Class字符数组20班级2Num字符数组学号3Name字符数组8姓名4Score整数大学英语成绩(2)构造相应的函数、
4、完成以下内容:l录入学生资料(至少15个学生)l修改学生资料(如成绩、班级等)l输出学生资料l按学生的成绩进行排序(至少要用直接插入排序、冒泡排序、快速排序,选择排序)并输出排序后的学生信息。l统计成绩:如最高成绩学生的信息,平均成绩等。(3)程序中可能出现的函数如下:1)主函数main():调用录入、修改、排序等函数对成绩表进行处理;2)录入函数Input():输入一个学生的信息;3)统计函数Statistic():计算平均成绩;4)输出函数Output():输出一个学生的信息;5)排序函数Sort():按学生的成绩从高到底进行排序;参考输入数据:参考运行结果:SoftA3010
5、1Helen87SoftA30102Kate90softA30103Joy60softA30104Lucy89softA30105Lily70softA30106Tom63softA30107Peter96softA30108Bob85【拓展】(1)如果学生信息的数据类型发生变化(如分数由Float变为Int),应如何解决?程序又如何设计?提示:学生结构体中的成员变量类型不具体化(如int),而是定义为DataType,实际按需要通过typedef说明DataType的类型,如typedefintDataType;(2)如何提高程序的灵活性,当学生的信息从键盘录入变成从文件(如.t
6、xt)中读取?程序又应该如何修改?
此文档下载收益归作者所有