- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]实验六
授课题目 成绩统计问题——排序算法应用 授课类型 实验课 首次授课时间 年 月 日 学时 4 教学目标 1.掌握常用的排序方法及其实现方法;了解各种方法的排序过程及其依据的原则;
2.深刻理解排序的定义和各排序方法的特点,并能加以灵活应用;
3.掌握各种排序方法的时间复杂度的分析方法。 重点与难点 各种排序方法的思想及其算法实现 教学手段与方法 上机编程、调试并进行验证 教学过程:(包括授课思路、过程设计、讲解要点及各部分内容时间分配
#include stdio.h
#include stdlib.h
#include string.h
#define MAX_TABLE 50
typedef struct {
char name[15];
int score;
int mingci;
}Stud;
typedef struct {
Stud *elem;
int length;
}Student;
void CreateTable( Student ST ) //建立学生基本情况表
{
int i, sc;
char name1[15];
ST.elem = (Stud*)malloc(MAX_TABLE*sizeof(Stud));
ST.length = 0;
printf( “输入学生基本情况(成绩以0表示结束)\n” );
printf( “输入姓名及成绩\n” );
scanf(%s%d,name1,sc); while( sc 0 )
{ strcpy( ST.elem[ST.length].name, name1 );
ST.elem[ST.length++].score = sc;
scanf(%s%d,name1,sc);
}
for( i=0; iST.length; i++ )
ST.elem[i].mingci = 0;
}
void Output( Student ST ) //输出学生的基本情况
{
int i;
printf( “ 姓名 成绩 名次\n” );
for( i =0; i ST.length; i++ )
printf( “ %10s%6d%6d\n”, ST.elem[i].name, ST.elem[i].score, ST.elem[i].mingci );
printf( “\n” );
}
void InsertSort( Student ST ) //插入排序
{
int i, j ;
Stud temp;
for( i=1; i ST.length; i++ )
if( ST.elem[i].scoreST.elem[i-1].score )
{ temp = ST.elem[i];
ST.elem[i] = ST.elem[i-1];
for( j = i-2; j = 0 ST.elem[j].score temp.score; j-- )
ST.elem[j+1] = ST.elem[j];
ST.elem[j+1] = temp;
}
ST.elem[0].mingci = 1;
for( i=1; i ST.length; i++ )
if( ST.elem[i].score == ST.elem[i-1].score )
ST.elem[i].mingci = ST.elem[i-1].mingci;
else ST.elem[i].mingci = ST.elem[i-1].mingci+1;
}
void BubbleSort( Student ST ) //冒泡排序
{
int i, j;
Stud temp;
for( i = 0; i ST.length; i++ )
for( j = 0; j ST.length-i-1; j++ )
if( ST.elem[j].score ST.elem[j+1].score )
{ temp = ST.elem[j]; ST.elem[j] = ST.elem[j+1];
ST.elem[j+1] = temp;
}
您可能关注的文档
- [工学]2011年学易网校一级建造师课件:建筑实务—精讲23.doc
- [工学]2011造价员试题.pdf
- [工学]51 确定位置课件1.ppt
- [工学]7信号处理初步.ppt
- [工学]a10级计算机网络技术专业网站美工方向.doc
- [工学]ALTERA Quartus 2开发流程.pdf
- [工学]4第四章环境知觉与.ppt
- [工学]CH5__UG NX40实体建模项目实践.ppt
- [工学]CH5_控制系统的稳定性分析.ppt
- [工学]chap1-3.ppt
- 人教版四年级上册数学 期末测试卷附完整答案(典优).docx
- 人教版四年级上册数学《期中测试卷》(重点).docx
- 五年级下册道德与法治期末测试卷附完整答案(必刷).docx
- 第七单元《解决问题的策略》-2025学年数学五年级上册单元真题拔高卷(参考答案)苏教版.docx
- 专题14 旋转在几何模型中的应用(解析版).docx
- 第六单元《统计表和条形统计图(二)》-2025学年数学五年级上册单元真题拔高卷(参考答案)苏教版.docx
- 第六单元《统计表和条形统计图(二)》-2025学年数学五年级上册单元真题拔高卷(全解全析)苏教版.docx
- 专题11 旋转(解析版).docx
- 河南省洛阳市 2024 - 2025 学年高二下学期 6 月质量检测英语试题.pdf
- 山东省高青县 2024-2025 学年下学期期中考试六年级英语试题.pdf
文档评论(0)