成绩统计系统数据结构课程设计

合集下载

运动会分数统计(数据结构课程设计)python

运动会分数统计(数据结构课程设计)python

运动会是学校中一项重要的活动,通过运动会可以增强学生的体质,增进师生之间的情感,同时也能够激发学生的运动热情和团队精神。

而对于运动会的分数统计来说,如何高效、准确地完成这项工作是非常重要的。

本文主要介绍了基于数据结构课程设计的运动会分数统计系统,使用Python语言实现。

二、系统设计1. 数据结构的选择在设计运动会分数统计系统时,需要考虑如何存储和管理参赛队伍和成绩信息。

由于参赛队伍和成绩信息的数量较大,因此需要选择适合高效查询和排序的数据结构。

本系统选择使用Python中的字典(dictionary)和列表(list)来存储和管理数据。

2. 数据的存储在系统中,每支队伍的信息包括队伍编号、队伍名称和各项比赛成绩等。

这些信息可以使用字典来存储,其中队伍编号作为键,队伍信息作为值。

而各项比赛成绩可以使用列表来存储,方便进行排序和统计。

3. 数据的输入为了方便输入参赛队伍和成绩信息,本系统提供了相应的输入界面,用户可以通过界面逐一输入每支队伍的信息。

程序也提供了批量导入功能,用户可以通过导入文件的方式一次性输入所有的参赛队伍和成4. 数据的统计和输出系统可以对输入的成绩信息进行统计和排序,可以按照总分或特定比赛项目的成绩进行排序,并将排名信息输出到文件中。

排名信息包括队伍名称、总分和各项比赛成绩,方便后续的奖励和表彰工作。

三、系统实现1. 数据结构类的设计为了方便对队伍和成绩信息进行管理,本系统设计了队伍(Team)和成绩(Score)两个类,分别用于存储队伍信息和比赛成绩。

2. 主程序的设计系统的主程序主要包括数据的输入、统计和输出三个功能。

用户可以通过交互式界面输入队伍和成绩信息,也可以通过命令行参数进行批量导入。

系统会对输入的成绩信息进行统计和排序,并将排名信息输出到指定的文件中。

3. 界面设计为了方便用户操作,系统提供了简洁清晰的交互式界面。

用户可以通过界面进行数据的输入和操作,也可以查看和导出排名信息。

学生成绩管理系统,数据结构课程设计

学生成绩管理系统,数据结构课程设计

课程设计任务书学生姓名:专业班级:指导教师:工作单位:题目:学生成绩管理系统已知技术参数和设计要求:现有学生成绩信息文件1(cj1。

txt),内容如下姓名学号语文数学英语张明明 01 67 78 82李成友 02 78 91 88张辉灿 03 68 82 56王露 04 56 45 77陈东明 05 67 38 47…. 。

. 。

…学生成绩信息文件2(cj2.txt),内容如下:姓名学号语文数学英语陈果 31 57 68 82李华明 32 88 90 68张明东 33 48 42 56李明国 34 50 45 87陈道亮 35 47 58 77…. 。

.. .. …试编写一管理系统,其基本功能要求:实现对两个文件数据进行合并,生成新文件cj3.txt抽取出三科成绩中有补考的学生并保存在一个新文件cj4.txt对合并后的文件3。

txt中的数据按总分降序排序(至少采用两种排序方法实现)输入一个学生姓名后,能查找到此学生的信息并输出结果(至少采用两种查找方法实现)要求使用结构体,链或数组等实现上述要求。

采用多种方法且算法正确者,可适当加分。

要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)数据结构课程设计说明书一、需求分析1、问题描述现如今,学校人数的暴涨,对学生基本信息的录入,保存量越来越大,为了简化对工作人员的操作,故设计一个程序来完成对学生基本信息的录入,保存,编辑等简单操作。

2、基本任务(1)对学生信息表cj1和cj2进行合并;(2)把合并的信息生成cj3;(3)把cj3中有补考的学生信息生成cj4;(4)对合并后的文件3。

txt中的数据按总分降序排序;(5)输入一个学生姓名后,能查找到此学生的信息并输出结果。

二、概要设计为了完成需求分析的基本任务,主要从以下3个方面进行设计:1、主界面设计为了实现学生成绩管理系统的各项功能,设计了一个含有多个菜单项的主控菜单模块以链接系统的各项功能,以方便用户使用系统。

学生成绩管理系统课程设计报告c++

学生成绩管理系统课程设计报告c++

学生成绩管理系统课程设计报告前言一、系统的设计需求1、整个系统均用C语言实现;2、利用指针、链表来实现学生成绩的数据结构设计;3、系统具有输入、显示、删除、排序、退出基本功能;4、系统的各个功能模块都用函数的形式来实现;5、可以将学生信息全部显示出来出来。

二、系统的功能模块划分每一条记录包括一个学生的姓名、成绩。

同时1、输入功能:一次可以完成一个学生成绩记录的输入。

2、显示功能:完成全部学生记录的显示。

3、删除功能:对指定学生的成绩进行删除.4、排序功能:按学生从大到小进行排序。

5、修改功能:对学生的成绩进行修改。

三、系统的整体设计1。

数据结构设计:A、输入功能的设计:void insert_func(void){char s_temp[4];ptr=(struct student *) malloc(sizeof(struct student));printf(” Student name :");gets(ptr—〉name);// gets从标准输入设备读取字符串// printf(” Student score:");gets(s_temp);ptr->score = atoi(s_temp);//把字符串转化为整数//B、删除功能的设计:void delete_func(void)//现在进入删除操作//{char del_name[20];printf(" Delete student name:");gets(del_name);prev = head;current = head-〉next;while ((current != NULL)&& (strcmp(current-〉name , del_name)!=0))//用到了strcmp 比较字符串{prev = current;current = current->next;}if (current != NULL){prev—〉next = current—〉next;free(current);//释放当前位置//printf(" %s student record deleted\n”,del_name);//输出被删除的姓名//}elseprintf(” Student %s not found\n",del_name);//否则此学生不存在//C、排序功能的设计:void sort_func(void)//插入数据//{prev = head;//把头指针所指的值付给prev//current = head—〉next;//把头指针的下一个指针值付给当前指针所指的位置// while ((current != NULL)&&(current—〉score 〉ptr—〉score)){prev = current;current = current->next;}ptr-〉next = current;prev—〉next = ptr;D、修改功能的设计:void modify_func(void){char n_temp[20],s_temp[4];//定义字符类型//printf(” Modify student name:”);gets(n_temp);//这样输入姓名current=head—>next;while ((current != NULL)&& (strcmp(current->name , n_temp)!=0)){prev = current;current = current-〉next;}if (current != NULL){printf(” **************************\n");printf(” Student name :%s\n”,current-〉name);printf(” Student score:%d\n”,current—>score);printf(” **************************\n");printf(" Please enter new score:”);gets(s_temp);current—〉score = atoi(s_temp);printf(" %s student record modified\n”,n_temp);}//输出被修改的成绩//elseprintf(” Student %s not found\n”,n_temp);//否则此学生不存在//anykey_func();E、显示功能的设计:void display_func(void)//定义显示//{int count=0;system(”cls”);if(head—〉next == NULL)//如果头指针所指数为空//{printf(” No student record\n”);//则输出学生记录为空//}else//否则输出学生姓名和成绩//{printf(” NAME SCORE\n”);printf(” —--——--—————-—-—-——-—-——-——\n”);current=head->next;while(current != NULL){printf(” %-20s %3d\n", current—〉name, current—〉score);count++;current=current—〉next;if(count % 20 == 0)getch();}printf(” --——————-—————————--—-—-—--\n”);printf(" Total %d record(s) found\n”, count);2.功能模块的具体设计整个系统除了主函数外,另外还有8个函数,实现5大功能:输入功能、显示功能、排序功能、删除功能、修改功能。

数据结构课程设计-运动会分数统计系统

数据结构课程设计-运动会分数统计系统

运动会分数统计系统Ø 设计内容1. 任务:参加运动会有n个学校,学校编号为1~n。

比赛分成m个男子项目,和w个女子项目。

项目编号为1~m,女子为m+1~w。

不同的项目取前5名或前3明积分;取前5名的积分为:7、5、3、2、1,前3名的积分分别为:5、3、2;哪些项目取前5名或前3名由学生自己决定。

(m<=20,n<=20)。

2. 功能要求:1) 可以输入各个项目的前3名或前5名的成绩;名的成绩;2) 能统计各个学校总分;能统计各个学校总分;3) 可以按学校编号、学校总分、男女团体总分排序输出;可以按学校编号、学校总分、男女团体总分排序输出;4) 可以按学校编号查询学校某个项目的情况;可以按学校编号查询学校某个项目的情况;5) 可以按项目编号查询取得前3或前5名的学校。

名的学校。

Ø 设计思路1. 系统结构设计图运动会SportsMeeting东华University交大University……比赛项目集合SportEvents 项目1 Event项目2 Event…………复旦University运动会分数统计系统结构设计图2. 思路分析1) 从上面的结构设计图来看,隐含地给出了第一个约束条件:每个参赛学校均参加所有的比赛项目。

然而这种设计思路并不符合实际情况,因为每个学校有权利选择参加或不参加某个比赛项目。

加某个比赛项目。

2) 首先,在上述结构图中,比赛项目Event 是最小的数据存储基本单元。

比赛项目集合SportEvents 可以理解为Event 数组,包含了所有的比赛项目。

根据约束,只要有学校University 参加运动会,此学校就包含了一个SportEvents 集合,即为每个学校分配自己的项目成绩单。

有n 个学校报名参加了运动会SportsMee ng ,大会的工作人员根据比赛项目结果统计各个学校的成绩。

赛项目结果统计各个学校的成绩。

因此,因此,这种设计结构有3层包含关系,层包含关系,但是每一部分但是每一部分相互独立,耦合性弱。

成绩分析数据结构课程设计

成绩分析数据结构课程设计

成绩分析数据结构课程设计一、课程目标知识目标:1. 让学生掌握数据结构的基本概念,如线性表、树、图等,并了解它们在实际问题中的应用。

2. 使学生能够理解和分析不同数据结构的特点,如时间复杂度和空间复杂度。

3. 帮助学生掌握常见算法的实现原理,如排序、查找等,并能够运用到成绩分析中。

技能目标:1. 培养学生运用数据结构解决实际问题的能力,特别是针对成绩分析的数据处理。

2. 提高学生编写和优化算法的能力,以便对大量成绩数据进行有效分析。

3. 培养学生使用计算机工具(如编程语言和数据处理软件)进行数据结构相关操作的能力。

情感态度价值观目标:1. 激发学生对数据结构学习的兴趣,培养主动探索和积极思考的学习态度。

2. 引导学生认识到数据结构在解决问题中的重要作用,提高对数学和计算机科学的认识。

3. 培养学生的团队合作意识,学会在团队中分享、交流和协作,共同完成成绩分析任务。

课程性质:本课程属于计算机科学与数学相结合的学科,注重理论知识与实践操作的结合。

学生特点:学生已具备一定的数学基础和编程能力,但对数据结构的应用和深入分析尚处于初级阶段。

教学要求:结合学生特点,通过案例分析和实际操作,使学生在掌握数据结构基本知识的基础上,能够将其应用于成绩分析,提高解决实际问题的能力。

同时,注重培养学生的团队合作和创新能力。

在教学过程中,关注学生的学习进度,及时调整教学策略,确保课程目标的实现。

二、教学内容1. 数据结构基本概念:线性表、栈、队列、树、图等,对应教材第1章。

- 线性表的应用实例:成绩排序、查找。

- 树的结构及其在成绩分类中的应用。

- 图的表示方法及其在成绩关系分析中的应用。

2. 算法分析:时间复杂度、空间复杂度,对应教材第2章。

- 分析不同排序算法的时间复杂度,如冒泡排序、快速排序等。

- 探讨查找算法的空间复杂度,如二分查找、哈希查找等。

3. 常见数据结构与算法的应用:对应教材第3-5章。

- 整理和优化成绩分析相关算法,如平均值计算、优秀率统计等。

c语言成绩管理系统课程设计报告

c语言成绩管理系统课程设计报告

c语言成绩管理系统课程设计报告一、引言:成绩管理系统是一种可以有效管理学生课程成绩的工具。

通过该系统,教师可以方便地录入、修改和查询学生的成绩,而学生和家长也可以方便地查看自己的成绩情况。

本次课程设计旨在设计一个基于C语言的成绩管理系统,实现对学生课程成绩的录入、修改和查询等功能。

二、系统设计:1. 数据结构设计:为了实现成绩管理系统的各项功能,需要设计相关的数据结构。

对于学生信息,可以设计一个结构体,包含学号、姓名、性别等字段;对于课程成绩,可以设计一个结构体,包含学号、课程名称、成绩等字段。

2. 功能设计:(1) 学生信息录入功能: 教师可以通过输入学生的学号、姓名、性别等信息,将学生信息录入系统中。

(2) 成绩录入功能: 教师可以通过输入学生的学号和课程名称,将学生的课程成绩录入系统中。

(3) 成绩修改功能: 教师可以根据学生的学号和课程名称,修改学生的课程成绩。

(4) 成绩查询功能: 学生和家长可以通过输入学生的学号,查询学生的课程成绩。

三、系统实现:1. 用户界面设计:使用C语言中的控制台窗口,通过菜单的方式显示系统功能选项,用户可以通过键盘输入选择对应的功能。

2. 数据存储设计:使用文件存储学生信息和课程成绩。

通过读取和写入文件的方式,实现数据的持久化存储。

3. 功能实现:(1) 学生信息录入功能的实现: 用户输入学生的学号、姓名、性别等信息后,将学生信息写入文件。

(2) 成绩录入功能的实现: 用户输入学生的学号、课程名称和成绩后,将成绩信息写入文件。

(3) 成绩修改功能的实现: 用户输入学生的学号、课程名称和新的成绩后,根据学号和课程名称找到对应的成绩信息并修改。

(4) 成绩查询功能的实现: 用户输入学生的学号后,根据学号在文件中查找对应的成绩信息并显示在控制台窗口。

四、系统测试:对于每一个功能,设计相应的测试用例,验证系统的正确性和稳定性。

例如,录入一个学生信息后,查询该学生的信息是否正确;录入一门课程成绩后,修改该成绩并查询是否修改成功等。

数据结构-学生成绩管理系统课程设计

数据结构-学生成绩管理系统课程设计

“数据结构与算法”课程设计报告*课程设计题目;要求:完成学生成绩的录入、统计、查询、修改、删除、输出。

(一)需求和规格说明1、软件其本身应是一个大的分支系统,每个分支都对应系统的一项功能。

在数据通过系统主功能输入完成后,通过调用各个子功能对数据进行相应的处理,达到相应的目的。

2、系统中首相要解决的问题就是信息的存储,学生的信息包含多方面的内容,必须用类或结构体去存储。

原题目中要求学生学号num用int类型的变量来存储,但实际情况下此设计并不妥,所以在系统设计的过程中,我用了一个长度为10的char类型的数组来存储学号,基本满足了实际应用的基本要求。

实际设计时系统的数据表如下3、由于系统本身为一个管理系统,所以设计过程中应采用交互式的方式方便操作者的使用,由于没有采用图形界面,所以可以通过循环弹出功能菜单的方式实现。

4、在系统各项子功能实现的过程中,需要通过编写函数,调用库函数等方式以实现字符串操作、指针操作、文件操作等,以达到系统中各项功能的不同要求。

(二)设计1、设计思路(1)、结构体的定义代码如下:struct data{char Name[n]; //姓名char Class[n]; //班级char Number[n]; //学号float cprog,media,eng,math,sport; //各科成绩float sum; //总分float ave; //平均数int order; //名次};typedef data *Infor;通过以上定义,将单个学生的各项基本信息封装到了一个名为Infor的结构体变量中。

另外,为了在系统中方便实现排序、查询、删除等功能,在头文件func.h 中又定义了一个Infor类型的数组stu[maxnum](maxnum为宏变量,大小为999),该数组默认可以存储999名学生的信息,如此一来,便大大简化了排序等功能的实现难度。

(2)、系统框架此系统大体框架由三个层次构成,依次为系统主菜单,主功能下设的子菜单及最底层菜单下的功能实现。

(完整word版)数据结构课程设计(学生成绩管理系统)(word文档良心出品)

(完整word版)数据结构课程设计(学生成绩管理系统)(word文档良心出品)

目录一、运行环境 0一、运行环境 (1)二、设计目的和意义 (1)2.1设计目的 (1)2.2设计意义 (1)三、算法思想 (1)四、模块划分 (4)五、数据结构 (5)六、程序流程图 (6)七、程序源代码 (8)八、程序调试过程分析 (18)九、测试数据 (18)十、测试结果及分析 (19)十一、小结 (23)参考文献 (24)一、运行环境硬件环境:电脑软件环境:vc++6.0二、设计目的和意义2.1设计目的此次课程设计的目的是让学生在学习完C、数据结构等课程基础上,进一步掌握设计、实现较大系统的完整过程,包括系统分析、编码设计、系统集成、以及调试分析,熟练掌握数据结构的选择、设计、实现以及操作方法,为进一步的应用开发打好基础。

2.2设计意义此次设计意义在于让我们更好的去掌握C的基本语法、函数以及Visual C++集成编译环境。

掌握树、图、链表等基本数据结构及其应用。

掌握程序流程以及基本应用方法。

应用软件工程方面的知识,熟悉软件开发的流程。

通过本课程设计,培养学生进行软件设计能力。

首先进行需求分析,针对目标对象完成程序结构设计、对象设计、主要数据结构设计、输入输出设计、人机界面设计等。

三、算法思想整个系统除了主函数外,另外还有12个函数,实现十大功能:菜单选择、输入功能、显示功能、查找功能、删除功能、排序功能、插入功能、保存功能、读取功能、修改。

各个函数的详细设计说明分别如下:1、主函数 main()利用无限次循环for(;;)和swithch()实现各函数的调用,系统根据输入的数字选项来调用相应的函数。

2、初始化函数 STUDENT *init()这是一个无参函数,里面只有一个语句,它的作用是使链表初始化,使head的值为NULL。

比如:没有这个函数的话,在你没有输入任何数据的情况下,去执行显示功能的时候会显示一些乱码!3、菜单选择函数 int menu_select();这是一个无参函数,主要实现“功能选择”的界面,在这个界面里有显示系统的九大功能,根据每个功能前面的序号进行选择,中间还显示系统当前的时间。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

洛阳理工学院课程设计报告课程名称数据结构课程设计设计题目成绩统计系统专业计算机科学与技术1. 问题描述给出n个学生的m门考试的成绩表,每个学生的信息由学号、姓名以及各科成绩组成。

对学生的考试成绩进行有关统计,并打印统计表。

2.基本要求(1)按总数高低次序,打印出名次表,分数相同的为同一名次;(2)按名次打印出每个学生的学号、姓名、总分以及各科成绩。

3、数据结构类型定义struct Student{char m_Name[20];unsigned int m_ID;float m_Score[m];};4. 总体设计(1)模块划分:<1>初始化函数: Node* Init();<2>直接插入法排序函数: float* Sort();<3>相同名次处理函数: int Del_Same();<4>打印函数void Display();<5>主函数:void main()2、组成框图:3、流程图<1>初始化函数: Node* Init(); <2>直接插入法:float* Sort();语文数学英语物理处理相同分数排序输入成绩输入学号输入姓名欢迎进入成绩统计系统<3>相同名次处理:int Del_Same(); <4>打印函数void Display();5. 详细设计1.声明一个结构体:typedef struct Student Node;2.录入数据将复制形式修改为指针访问形式,计算成绩总和写入到sum[]中。

3.打印,按名次从第一名到最后一名。

4.下直接插值排序法会用到"哨兵",nSize表示grade[]中实际元素的个数。

5.处理相同成绩的名次将sum[n]中的不重复的元素放到grade[n]中,函数返回grade[]中实际元素的个数。

测试数据:姓名语文数学英语物理黄54 53 52 51赵98 97 96 95李100 99 99 986. 测试与调试1、输入数据:2.打印成绩7. 源程序清单#include <stdio.h>#include <string>#include <float.h>#include <iostream> #include <iomanip>#define n 3/*学生数*/ #define m 4/*课程数*/ using namespace std; //---声明一个结构----struct Student{char m_Name[20];unsigned int m_ID;float m_Score[m];};typedef struct Student Node;//------函数声明---------------------------Node* Init(Node* stu,const int cN,float* Asum,int nSum);float* Sort(float* Agrade,int nSize);int Del_Same(float* Asum,int nSum,float* Agrade,int nGreade);void Display(Student* stu,int nN,float* Asum,int nSum,float* Agrade,int nGreadeSize);//------函数实现---------------------------//----录入数据------Node* Init(Node* stu,const int cN,float* Asum,int nSum){char name[20];unsigned int id;float score[m];int i,j;for(i=0;i<n;++i){printf("请输入第%d/%d名学生的信息:\n ",i+1,n);printf("请输入姓名: ");scanf("%s",name);printf("\n请输入学号: ");scanf("%d",&id);for(j=0;j<m;++j){printf("\n录入第 %d/%d 门课程成绩:",j+1,m);scanf("%f",&score[j]);}printf("\n");//---赋值过程---------------strcpy((stu+i)->m_Name,name);//修改成指针访问形式. (stu+i)->m_ID=id;for(j=0;j<m;j++){(stu+i)->m_Score[j]=score[j];}//-------计算成绩总和写入到sum[]中--------*(Asum+i)=0.0;for(j=0;j<m;++j){(*(Asum+i))+=((stu+i)->m_Score[j]);}}//for(n)printf("成功!~数据录入完毕! ");return stu;}void Display(Node* stu,int nN,float* Asum,int nSum,float* Agrade,int nGreadeSize){//打印。

按名次从第一名到最后一名。

cout<<endl<<"=================================================================== ======"<<endl;cout<<"============================打印名次信息================================="<<endl;cout<<"========================================================================= "<<endl;cout<<"名次======学号======姓名======总分=====名科成绩===="<<endl;for(int i=0;i<nGreadeSize;++i){for(int j=0;j<n;++j){if(Asum[j]==Agrade[i]){cout<<setw(10)<<left<<i+1//名次。

<<setw(10)<<left<<stu[j].m_ID//学号。

<<setw(10)<<left<<stu[j].m_Name//姓名。

<<setw(10)<<left<<Asum[j];//总分。

for(int k=0;k<m;++k)cout<<setw(10)<<left<<stu[j].m_Score[k];//名科成绩。

}//cout<<endl;}}}float* Sort(float* Agrade,int nSize){//练习一下直接插值排序法。

会用到"哨兵"。

nSize表示grade[]中实际元素的个数。

for(int i=1;i<nSize;++i){Agrade[nSize]=Agrade[i];//将它放到哨兵里for(int j=i-1;j>=0;){if(Agrade[nSize]>Agrade[j])//从大到小的顺序。

一定要注意,是拿"哨兵"来与之比较才对的。

{Agrade[j+1]=Agrade[j];j--;}else{break;}}//for内Agrade[j+1]=Agrade[nSize];// 从哨兵中取出这个值来}//for 外return Agrade;}int Del_Same(float* Asum,int nSum,float* Agrade,int nGreade){//将sum[n]中的不重复的元素放到grade[n]中,函数返回grade[]中实际元素的个数。

int Find;//有无重复的标记:1为有,0为无。

int nElem=1;//gread[]中的实际元素个数。

Agrade[0]=Asum[0];for(int i=0;i<nSum;++i)//sum[]{for(int j=0;j<nElem;++j)//grade[]{if(Asum[i]==Agrade[j])//判断两个浮点数相等条件。

{Find=1;break;}else{Find=0;}}if(Find==0){Agrade[nElem]=Asum[i];nElem++;}}//for(最外)return nElem;}//------------void main(){Node Stu[n];Node* pStu;pStu=Stu;//声明n个Student对象的一个数组。

float sum[n],grade[n+1];//因为想在grade[]中用到直接插值排序法,要用到"哨兵"。

所以构造n+1.pStu=Init(pStu,n,sum,n);int nGrade_size;nGrade_size=Del_Same(sum,n,grade,n+1);float* pGrade=0;pGrade=Sort(grade,nGrade_size);Display(pStu,n,sum,n,grade,nGrade_size);}八、心得体会这次我抽到的题目很简单,但是这是指用基础的C语言写很简单。

如果想把本学期数据结构的知识应用到程序中还是很有挑战性的。

我采用的是直接插入排序法,刚开始把书上的程序照搬过来,结果发现有许多的错误。

改了很久才改对。

最难的是相同成绩处理的函数,我刚开始以为很简单,但是前面各个成绩采用的是指针结构体,很难处理,最后在网上查找了一下才对照着改正过来。

最后我学会的是可以先把数据输入数组内,在用指针直接指向数据就可以了,这样比输入数据时就用指针要简单的多。

相关文档
最新文档