[工学]实验六.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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; }

文档评论(0)

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

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

1亿VIP精品文档

相关文档