- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验五:学生成绩管理系统中排序算法的实现
实验五 学生成绩管理系统中排序算法的实现
一、实验目的
1、理解排序的基本概念。
2、掌握直接插入排序、直接选择排序、冒泡排序等算法的实现方式。
3、掌握分析算法优劣的标准,并能对使用的三种算法进行分析。
二、实验内容
对如下表所示的学生成绩中的数学成绩分别使用直接插入排序、直接选择排序、冒泡排序等三种方式实现非递减排序。
编号 学号 姓名 性别 系名 大学英语 高等数学 计算机基础
1 丁勇 男 机械 78 63 73
2 董茂 女 英语 62 87 74
3 冯连军 男 信息 80 58 63
4 李红 女 信息 86 93 93
5 郭瑞 男 化工 76 96 81
6 何超超 男 油工 70 91 78
7 胡伟 男 信息 66 59 79
8 黄明强 男 化工 75 77 76
9 于晓雯 女 英语 68 93 62
10 李成伟 男 信息 79 71 65
三、设计指导
该问题的实现要考虑数据在内存中的存储方式,具体可以使用结构体数组或者单链表,下面以结构体数组为例介绍之。
#includestdio.h
#includestdlib.h
#includestring.h
#define N 10
typedef struct std
{ int no;
char stunum[10];
char stuname[10];
char sex[5];
char major[10];
int english;
int math;
int pc;
}student;
student stu1,stu[N];
char str[81];
//从文件中读出学生成绩信息
void read()
{
int i;
FILE *fp;
if((fp=fopen(d:\\1.txt,r))==NULL)
{
printf(文件打开错误!\n);
exit(1);
}
fgets(str,80,fp);//先从文件中读出标题
puts(str);
for(i=0;i10;i++)
{
fscanf(fp,%d%s%s%s%s%d%d%d,stu[i].no,stu[i].stunum,stu[i].stuname,stu[i].sex,stu[i].major,stu[i].english,stu[i].math,stu[i].pc);
printf(%-4d%-10s%-8s%-6s%-10s%-10d%-10d%-10d\n,stu[i].no,stu[i].stunum,stu[i].stuname,stu[i].sex,stu[i].major,stu[i].english,stu[i].math,stu[i].pc);
}
fclose(fp);
}
//直接插入排序
void InsertSort(student a[],int n)
{
student temp;
int i,j;
//请大家自己完成
}
//直接选择排序
void SelectSort(student a[],int n)
{
student temp;
int i,j,small;
//请大家自己完成!
}
//冒泡排序
void BubbleSort(student a[],int n)
{
student temp;
int i,j,flag=1;
//请大家自己完成!
}
void main()
{
int i,n=10;
read();
printf(直接插入排序后得到的序列为:\n);
InsertSort(stu,n);
puts(str);
for(i=0;in;i++)
printf(%-4d%-10s%-8s%-6s%-10s%-10d%-10d%-10d\n,stu[i].no,stu[i].stunum,stu[i].stuname,stu[i].sex,stu[i].majo
您可能关注的文档
最近下载
- 基础化学高职高专第五版高琳第六章第一节化学平衡与平衡常数.pptx VIP
- 输电线路全寿命周期设计建设技术导则.pdf VIP
- 基础化学高职高专第五版高琳第十章氧化还原平衡.pptx VIP
- 人教B版高中数学必修二同步讲义:平面向量线性运算的应用(学生版+解析).pdf VIP
- 人教B版高中数学必修二讲义:向量的坐标及其运算(学生版+解析).pdf VIP
- 人教B版高中数学必修二同步讲义:向量的基本定理(学生版+解析).pdf VIP
- 基础化学高职高专第五版高琳第十一章脂肪烃.pptx VIP
- 浅谈搅拌站与精细化管理 - 管理文章.docx VIP
- 混凝土精细化管理.docx VIP
- 一种调料售货机的自动售货方法.pdf VIP
文档评论(0)