- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]实验六
授课题目 成绩统计问题——排序算法应用 授课类型 实验课 首次授课时间 年 月 日 学时 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
- 2024年江西省高考政治试卷真题(含答案逐题解析).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)物理试卷(含答案详解).pdf
- 2025年四川省新高考八省适应性联考模拟演练(二)地理试卷(含答案详解).pdf
- 2024年内蒙通辽市中考化学试卷(含答案逐题解析).docx
- 2024年四川省攀枝花市中考化学试卷真题(含答案详解).docx
- (一模)长春市2025届高三质量监测(一)化学试卷(含答案).pdf
- 2024年安徽省高考政治试卷(含答案逐题解析).pdf
- (一模)长春市2025届高三质量监测(一)生物试卷(含答案).pdf
- 2024年湖南省高考政治试卷真题(含答案逐题解析).docx
- 2024年安徽省高考政治试卷(含答案逐题解析).docx
文档评论(0)