软件技术基础实验五:查找和排序操作实验讲述.doc

软件技术基础实验五:查找和排序操作实验讲述.doc

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件技术基础实验五:查找和排序操作实验讲述

电子科技大学 电子工程 学院 标 准 实 验 报 告 (实验)课程名称 软件技术基础 一、实验名称 实验五:查找和排序操作实验 二、实验目的 理解在线性表中的各种基本的查找和查找方法的原理,实现方法,适用条件,掌握各种基本查找和排序方法编程实现。 三、实验内容 设计一个描述学生成绩信息的线性表,用于存放学生的相关信息,学生成绩表的基本信息如下: 姓名 学号 成绩 英语 模电 高数 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 ‥‥‥ ‥‥‥ ‥‥ ‥‥ ‥‥ ‥‥ ‥‥ 要求编程实现以下功能: A、 用顺序表存储以上学生成绩表; B、 添加一个同学的相关信息; C、 用顺序查找方法查找有某科成绩高于90分或某科成绩不及格的同学信息,并显示相应查找结果; D、 以英语成绩为排序码,利用简单选择排序方法对学生成绩表进行排序,并显示排序结果; E、 以高数成绩为排序码,利用简单插入排序方法对学生成绩表进行排序,并显示排序结果; F、 以C语言成绩为排序码,利用冒泡排序方法对学生成绩表进行排序,并显示排序结果; 再利用二分查找的方法在已经排序后的成绩表中查找C语言成绩为x的学生信息(x为键盘输入分数值)。 四、实验程序 #includestdio.h #includemalloc.h #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;i6;i++) input(l,i); print(l); printf(\n); seq_search(l,90,60); selectsort(l); printf(\n); insertsort(l); printf(\n); bubblesort(l); printf(\n); printf(请输入需要查找的C语言成绩:); scanf(%d,c); printf(查找结果:\n); binary_search(l,c); } void initiatelist(listtype *l)//初始化顺序表 { l-num=0; } int input(listtype *l,int i) { if(i0||iMaxnum) { printf(顺序表已满,不能添加新记录\n); return(false); } else { printf(请输入学生姓名:); scanf(%s,l-data[i].name); printf(请输入学生学号:); scanf(%s,(l-data[i].number));

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档