电子科技大学电子工程学院标 准 实 验 报 告(实验)课程名称软件技术基础一 、 实 验 名 称实验五:查找和排序操作实验二 、 实 验 目 的理解在线性表中的各种基本的查找和查找方法的原理,实现方法, 适用条件, 掌握各种基本查找和排序方法编程实现。三 、 实 验 内 容设计一个描述学生成绩信息的线性表,用于存放学生的相关信息, 学生成绩表的基本信息如下:要求编程实现以下功能:A、用顺序表存储以上学生成绩表;B、添加一个同学的相关信息;C、用顺序查找方法查找有某科成绩高于90 分或某科成绩不及格的同学信息,并显示相应查找结果;D、以英语成绩为排序码, 利用简单选择排序方法对学生成绩表进行排序,并显示排序结果;E、以高数成绩为排序码, 利用简单插入排序方法对学生成绩表进行排序,并显示排序结果;F、以 C语言成绩为排序码, 利用冒泡排序方法对学生成绩表进行排序,并显示排序结果;再利用二分查找的方法在已经排序后的成绩表中查找C语言成绩为 x 的学生信息(x 为键盘输入分数值)。四 、 实 验 程 序姓名学号成绩英语模电高数C语言物理成一鸣2602302001 73 82 83 77 92 傅强之2602302002 65 76 73 82 84 郭志川2602302003 87 86 91 83 81 姜博文2602302004 51 78 62 60 80 巨乐2602302005 69 68 78 72 79 李帅2602302006 76 62 58 63 73 ‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥‥#include #include #define true 1 #define false 0 #define Maxnum 20 typedef struct{ char name[50]; // 姓名 char number[15]; //学号 int yy; //英语 int md; //模电 int gs; //高数 int c; //C语言 int wl; //物理}student; typedef struct{ student data[Maxnum]; int num; } listtype; void main() { void initiatelist(listtype *l); int input(listtype *l,int i); void print(listtype *l); void seq_search(listtype *l,int k,int n); void selectsort(listtype *l); void insertsort(listtype *l); void bubblesort(listtype *l); int binary_search(listtype *l,int a); listtype *l; int i,c; l=(listtype*)malloc(sizeof(listtype)); initiatelist(l); for(i=0;i<6;i++) input(l,i); print(l); printf("\n"); seq_search(l,90,60); selectsort(l...