DS_上机实验的目的、要求和评分标准
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DS_上机实验的目的、要求和评分标准
第一篇:DS_上机实验的目的、要求和评分标准
上机实验的目的、要求和评分标准
一、实验目的上机实践是各位对本门课程所学知识的一种全面、综合的能力训练,是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节,也是对课堂教学与实践教学效果的一种检验。
通常,实验题中的问题比平时的习题复杂得多,也更接近实际。
实验着眼于原理与应用的结合,使你们学会如何把书上学到的知识运用于解决实际问题的过程中去,培养从事软件开发设计工作所必需的基本技能;另一方面,能使书上的知识变“活”,起到深化理解和灵活掌握教学内容的目的。
平时的练习较偏重于如何编写功能单一的“小”算法,而实验题是软件设计的综合训练,包括问题分析(需求分析)、总体结构设计和用户界面设计(概要设计)、程序设计基本技能和技巧等,即一整套软件工程规范的训练和科学作风的培养。
此外,还有很重要的一点是:机器是比任何教师都严厉的主考者。
为了达到上述目的,本课程共安排了10个实验单元,各单元的训练重点在于基本的数据结构,而不强调面面俱到。
各实验单元与教科书的各章具有紧密的对应关系。
二、要求:
⒈ 做好每一次上机前的准备以提高上机效率:
① 预先认真阅读相关实验内容,做到心中有明确的目的要求和任务,要有备而来,应该自己独立的思考和设计你的算法和程序,并争取在规定的时间内如期完成上机工作任务。
对于个别目前基础较差的同学,实在是没法完成任务的建议你先参考其他同学的算法,勤学好问,最终自己独立完成,以增强你的感性认识,强化你的实践基础,提高你的实践能力。
② 按照实验内容规定的习题题目,事先在实验预习报告上编写好源程序及运行程序所需的典型数据,并经人工静态检查认为无误;手编程序应书写整齐,应在每个题目之间留出一定的空间,以备记录上机调试情况和运行结果等;对程序中自己有疑问的地
方,应作出记号,以便上机时给以注意。
③ 将想要上机验证的问题草拟提纲;制定一个简捷的程序调试计划。
⒉ 上机时输入和调式自己所编写的程序。
对“出错信息”,应善于自己分析判断,并充分利用开发工具提供的错误信息和调试手段解决出现的问题,及时修改与完善算法、源程序,随时记录有价值的内容。
解决问题是学习调式程序的良好机会。
切不可不编程序或抄别人的程序去上机,应从养成严谨的科学作风。
⒊ 程序调试通过后,应运行程序并根据事先准备的典型数据验证结果,在运行时要注意在输入不同数据时所得到的不同结果。
⒋ 为便于教师、助教检查和以后复习,请不要删除已通过的程序,包括有问题待答疑的程序,应保存在自己的工作目录内。
源程序名应能反映哪一次实验的哪一个题目,如Lab1_1.c
表示实验一的第1题,……,若有未完成调试的源程序,可以作存盘保存处理,待课后继续完成。
三、实验报告规范:
上机结束后,应整理出实验报告,每份实验报告总分100分,实验报告必须在该次实验后的下次实验课前交到学习委员处,由学习委员按学号整理好,在上课前上交。
实验报告必须包括以下七个部分,详细要求见课程教学大纲,模板见实验指导书(习题集):
⒈ 需求分析(10分)
⒉ 概要设计(20分)
⑴ 抽象数据类型的描述
⑵ 程序结构图(功能模块图)
⒊ 详细设计(30分)
⑴ 存储结构的描述(含描述对象和算法中工具的存储结构)
⑵ 算法的详细设计(对复杂算法,最好画出其N-S流程图)
⑶ 函数的调用关系图
⒋ 调试分析(10分)
⒌ 用户使用说明(10分)
⒍ 测试结果(10分)
⒎ 附录(10分)
源程序清单(包括注释)
实验一:线性表的顺序存储结构(验证性实验)
上机前的预习:阅读所给的源程序1,上机输入该程序,并调试、运行,分析该源程序的功
能;在实验预习报告上编写好上机题的源程序及运行程序所需的典型数据,并给程序加上适当的注释。
题一:设计并实现以下算法:有两张单调递减有序的线性表A和B,采用顺序存储结构,将
这两张表合并成C表,要求C表单调递增有序。
实验二:线性表的链式存储结构(验证性实验)
上机前的预习:阅读所给的源程序2,上机输入该程序,并调试、运行,分析该源程序的功
能;在实验预习报告上编写好上机题的源程序及运行程序所需的典型数据,并给程序加上适当的注释。
题一:设计并实现以下算法:判定一个带头结点的单向链表的元素值是否为非递增的,如果
是非递增的,请删除值相同的多余元素,并就地逆置该链表。
实验三:栈和队列的应用
(一)(验证性实验)
上机前的预习:在实验预习报告上编写好上机题的源程序及运行程序所需的典型数据,并给
程序加上适当的注释。
题一:设计并实现将一个中缀表达式转换成逆波兰式,然后对此逆波兰表达式求值的算法。
题二:设计并实现求杨辉三角的递归算法。
实验四:栈和队列的应用
(二)(综合性实验)
上机前的预习:在实验预习报告上编写好上机题的源程序及运行
程序所需的典型数据,并给
程序加上适当的注释。
(题一为必做题,题
二、题三中必须完成其中一题)
题一:假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素结点(注意:
不设头指针),试编写相应的队列初始化、入队列和出队列算法。
题二:假设迷宫由m行n列构成,有一个入口和一个出口,入口坐标为(1,1),出口坐标为
(m,n),试找出一条从入口通往出口的最短路径。
设计算法并编程输出一条通过迷宫的最短路径或报告一个“无法通过”的信息。
要求:随机生成迷宫,用队列实现路径的查找,用栈输出路径。
不允许使用递归算法。
题三:(习题集P97)魔王语言解释。
一个魔王总是使用自已的一种非常精练而抽象的语言讲
话,没有人能听得懂。
但他的语言是可以逐步解释成人能懂的语言的,因为他的语言是由以下两种形式的规则由人的语言逐步抽象上去的:
⑴ α→β1β2…βm
⑵(θδ1δ2…δn)→(θδnθδm-1…θδ 1θ)
在这两种形式中,从左到右均表示解释;从右到左均表示抽象。
试写一个魔王语言的解释系统,将魔王的话解释成人能听懂的话。
要求:设大写字母表示魔王语言的词汇,小写字母表示人的词汇,希腊字母表示可以用大写字母或小写字母代换的变量。
魔王语言可含人的词汇。
用下述两条规则和上述规则⑵实现:
⑴ B→tAdA
⑵ A→sae
实验五:稀疏矩阵的存储和快速转置(验证性实验)
上机前的预习:在实验预习报告上编写好上机题的源程序及运行程序所需的典型数据,并给
程序加上适当的注释。
题一:假设稀疏矩阵A采用三元组表表示,编写程序实现该矩阵
的快速转置(教材算法5.2)。
要求:输入一个稀疏矩阵A,由程序将其转换成三元组表存储;转置后的三元组表,由程序
将其转换成矩阵形式后输出。
题二:(习题集P136)设计并实现稀疏矩阵运算器。
(选做)
实验六:二叉树的递归遍历及其应用(验证性实验)
上机前的预习:在实验预习报告上编写好上机题的源程序及运行程序所需的典型数据,并给
程序加上适当的注释。
题一:假设二叉树采用二叉链表结构。
设计并实现如下算法:先序递归建树,中序非递归遍
历该二叉树,输出各个结点的值,并求该二叉树的高度。
实验七:二叉树的其他典型算法(验证性实验)
上机前的预习:在实验预习报告上编写好上机题的源程序及运行程序所需的典型数据,并给
程序加上适当的注释。
题一:假设二叉树采用二叉链表结构。
设计并实现如下算法:输入某棵二叉树的广义表形式,建立该二叉树,按层次遍历该二叉树,并求该树中叶结点的个数。
题二:(习题集P149)哈夫曼编/译码器。
(选做)
实验八:图的遍历(验证性实验)
上机前的预习:在实验预习报告上编写好上机题的源程序及运行程序所需的典型数据,并给
程序加上适当的注释。
题一:图采用邻接表结构表示。
实现无向图的广度优先搜索算法与有向图的深度优先搜索算
法(教材算法7.4、算法7.5、算法7.6)。
题二:(习题集P151)校园导游咨询模拟。
(选做)
实验九:查找(验证性实验)
上机前的预习:在实验预习报告上编写好上机题的源程序及运行程序所需的典型数据,并给
程序加上适当的注释。
题一:二叉树采用二叉链表结构表示。
设计并实现如下算法:按输入的关键字序列建立一棵
二叉排序树,并删除该二叉排序树上的一个叶子结点。
题二:哈希表。
实现哈希表的造表和查找算法(教材算法9.17和算法9.18),要求:用除留
余数法构造哈希函数,用二次探测再散列解决冲突。
实验十:内部排序(验证性实验)
上机前的预习:在实验预习报告上编写好上机题的源程序及运行程序所需的典型数据,并给
程序加上适当的注释。
题一:(习题集P169)内部排序算法比较。
第二篇:C_上机实验(含作业)总的目的、要求和评分标准
上机实验(含作业)总的目的、要求和评分标准
一、实验目的实验作为教学的一个重要环节,其目的在于更深入地理解和掌握课程教学中的有关基本概念,应用基本技术解决实际问题,从而进一步提高分析问题和解决问题的能力。
C程序设计实践性很强,即要求独立编写程序,学会独立上机调试程序。
学会独立上机调试程序。
也就是要善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行。
计算机技术是实践性很强的技术,要求从事这一领域的人不仅能了解和熟悉有关理论和方法,还要求自己动手实践。
对程序设计来说,要求会编写程序并上机调试通过。
因此调试程序本身是程序设计课程的一个重要的内容和基本要求,应给予充分的重视。
调试程序的经验固然可以借鉴他人的现成经验,但更重要的是通过自己的直接实践来积累,而且有些经验是只能“会意”难以“言传”。
因此,在实验时不但要达到通过程序完成每一次的实验任务,而且应当在已通过的程序基础上作进一步的修改、提高和完善。
甚至于“自设障碍”,即把正确的程序改为有错的(如用scanf函数为输入
变量输入数据时,漏写“&”符号,double变量使用格式符“%f”;使数组下标出界;使整数溢出等等),观察和分析所出现的情况。
这样的学习才会有真正的收获。
实验目的可归纳如下:
⒈ 验证自己已建立起来的概念或所编写的程序是否正确;
⒉ 加深对课堂所学内容的理解和语法规则的记忆;
⒊ 理解和掌握运用计算机高级语言进行编程的思想方法;
⒋ 掌握常用算法的设计与应用实现;
⒌ 熟悉Turbo C 2.0程序开发环境,掌握C程序常用的调试手段;
⒍ 学会上机调试程序的方法,不断积累调试经验,提高排错能力;
⒎ 使自己具有独立的应用编程和熟练的程序调试能力。
二、要求:
⒈ 做好每一次上机前的准备以提高上机效率:
① 预先认真阅读相关实验内容,做到心中有明确的目的要求和任务,要有备而来;
② 按照实验内容规定的习题题目,事先在实验预习报告上编写好源程序及运行程序所需的典型数据,并经人工静态检查认为无误;手编程序应书写整齐,应在每个题目之间留出一定的空间,以备记录上机调试情况和运行结果等;对程序中自己有疑问的地方,应作出记号,以便上机时给以注意。
③ 将想要上机验证的问题草拟提纲;制定一个简捷的程序调试计划。
⒉ 上机时输入和调试自己所编写的程序。
在使用键盘时,应采用正确的指法击键,为今后正确使用键盘打下基础;应该一人一组,尽量独立思考,上机过程中出现的问题,除了是系统的问题外,一般应自己独立处理,尤其对“出错信息”,应善于自己分析判断,并充分利用开发工具提供的错误信息和调试手段解决出现的问题,及时修改与完善源程序,随时记录有价值的内容。
解决问题是学习调试程序的良好机会。
初学者切不可不编程序或抄别人的程序去上机,应从一开始就养成严谨的科学作风。
⒊ 程序调试通过后,应运行程序并根据事先准备的典型数据验证结果,在运行时要注意在输入不同数据时所得到的不同结果(如解一元二次方程上时,不同的a、b、c组合应得到实根、复根的不同结果)。
此时应运行几次,分别检查在不同情况下程序是否正确。
⒋ 为便于教师、助教检查和以后复习,请不要删除已通过的程序,包括有问题待答疑的程序,应保存在自己的工作目录内。
源程序名应能反映哪一次实验的哪一个题目,例如:若已完成第一次实验第二道程序题的编写且学生名称为李明,则完成后的源文件应命名为LM_1_2.C,其中LM是姓名首字母的大写,1表示第一次实验,2表示第二道程序题,下划线“_”不可丢失。
若有未完成调试的源程序,可以作存盘保存处理,待课外继续完成。
⒌ 在实验课堂上至少要完成每次实验任务的前三道程序题,可以课后继续完成其余题目,但每次实验任务中所有的程序题都必须写在实验报告上并递交。
三、实验报告内容:
上机结束后,应整理出实验报告,实验报告可采用英文或中文书写,每份实验报告总分100分,实验报告必须在该次实验后下一周星期四上午1、2节课前交到学习委员处,由学习委员按学号整理好,在上课前交到讲台上。
实验报告应包括以下内容:
⒈ 实验目的(10分)
⒉ 实验题目(10分)
⒊ 程序清单(50分)(此部分要求:① 含算法的伪代码描述或流程图描述;② 必须包括注释。
)⒋ 运行结果(10分)(必须是程序清单所对应的输入、数据和打印输出的结果);
⒌ 调试分析和体会(20分)(这是实验报告中最重要的一项,也是最容忽视的一项。
实验过程中大量的工作是程序调试,在调试过程中会遇到各种各样的问题,每解决一个问题就能积累一点经验,提高编程的能力。
因此,对实验的总结,最重要的是程序调试经验的总结。
调试分析也包括对结果的分析。
体会主要是指通过本次实验是否达到
了实验目的,有那些基本概念得到了澄清等。
)
四、实验纪律(参照学生守则):
⒈ 无故缺勤实验一次,取消期末考试的资格;
⒉ 在实验进行中,累计2次玩游戏者,取消期末考试的资格;
⒊ 因故缺勤实验一次,必须补做,补交实验报告。
Lab 1 Sequence Structure
上机前的预习:在实验预习报告上画好流程图,并编写好源程序及运行程序所需的典型数据。
⒈ 在自己的系统上运行“Hello, World”,再让程序遗漏一些部分,观察出现的错误信息。
⒉ 输入两个城市之间的距离(以千米为单位),将其转换为以英里为单位的距离
⒊ 输入两个数,交换它们的值。
⒋ 输入以华氏为单位的温度,将其转换为以摄氏为单位的温度。
⒌ 输入某员工的基本工资(以元为单位,工资为整数值),如果他的住房补贴是基本工资的20%,岗位补贴是基本工资的40%,计算该员工的总工资。
Lab 2 Selection Structure
上机前的预习:在实验预习报告上画好流程图,并编写好源程序及运行程序所需的典型数据。
⒈ 输入一个年份,判断其是否为闰年。
⒉ 读入x的值,计算函数f(x):
x(x+2)(2
f(x)=2x(-1
x-1(x≤-1)
⒊ 给一个不多于5位的正整数,求出它是几位数,并计算组成该整数的每位上的数字的和。
⒋ 输入三个坐标(x1,y1)、(x2,y2)、(x3,y3),判断这三个点是否在一条直线上。
⒌ 输入某学生语文课程的成绩,输出该成绩的等级。
判断规则为:
如果成绩在90-100的范围内,则等级为A;若成绩在80-89的范围内,则等级为B;若成绩在70-79的范围内,则等级为C;若成绩在60-69的范围内,则等级为D;若少于60分,则等级为F。
(要求:用switch语句实现。
)
Lab 3 Repetition Structure
上机前的预习:在实验预习报告上画好流程图,并编写好源程序及运行程序所需的典型数据。
⒈ 从500开始,求被3、5、7除余数均为2的前50个数。
⒉ 打印形状为正方形和直角三角形的乘法九九表。
⒊ 由键盘输入一个正整数,判断它是否为素数(只能被1和自身整除的数)。
⒋ 按下面的近似公式计算常量e的值,e的计算公式如下:
e=1+1/1!+1/2!+1/3!+……+1/n!
由键盘输入误差δ,当最后一个子项1/n!的值小于δ时,计算结束。
⒌ 百马百担问题。
有100匹马,驮100担货,大马驮3担,中马驮2担,两个小马驮1担。
问有大、中、小马各多少匹?
⒍ 编写程序输出以下的图形:
456
78910
Lab 4 Function(Part Ⅰ)
上机前的预习:在实验预习报告上画好流程图,并编写好源程序及运行程序所需的典型数据。
要求:从本次实验开始,每一个功能模块都必须用一个函数来实现。
⒈ 求m!/(n!*(m-n)!)的值。
要求:求某个数的阶层必须用自定义的函数实现。
⒉ 用二分法求下面方程2x3-4x2+3x-6=0的根,要求误差小于10-5。
⒊ 随机产生50个200至500之间的整数,输出所有的整数,判
断每个整数是否为素数;若是素数,则在输出整数时,用*标记。
要求每行输出10个数。
要求:判断一个整数是否为素数,必须用自定义的函数实现。
⒋ 通过输入两个加数给学生出一道加法运算题,如果输入答案正确,则显示“Right!”,否则提示重做,显示“Not correct!Try again!”,最多给三次机会,如果三次仍未做对,则显示“Not correct.You have tried three times!Test over!”程序结束。
⒌ 输入两个正整数,求其最大公约数和最小公倍数。
要求:求最小公约数必须用自定义的函数实现。
Lab 5 Function(Part Ⅱ)
上机前的预习:在实验预习报告上画好流程图,并编写好源程序及运行程序所需的典型数据。
⒈ 编程计算Xn(要求:用递归函数)。
⒉ 编程计算Ackermann函数Ack(m,n)(要求:用递归函数)。
对于m≥0,n ≥0,Ack(m,n)定义如下:
Ack(0,n)=n+1
Ack(m,0)= Ack(m-1,1)
Ack(m,n)= Ack((m-1), Ack(m,n-1))
⒊ 在自己的系统上分别运行下列程序,再让其中的变量做些存储类别上的变化,观察输出结果,写出你对变量存储类别、变量作用范围的理解。
main()
{
int a=2,i;
clrscr();
for(i=0;i<3;i++)
printf(“%4d”,f(a));
}
void f(int a)
{
int b=0;static int c=3;
b++;c++;
}
┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅int a=3,b=5;
int max(int a,int b){
λint c;
λc=a>b?a:b;
λreturn c;
}λ
main()
{
λint a=8;
λprintf(“%dn”,max(a,b)); }
┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅int a=3,b=5;
void num(){
λextern int x,y;
λint a=15,b=10;
λx=a-b;
λy=a+b;
}
intx,y;
main(){
int a=7,b=5;λ
λx=a+b;
λy=a-b;
λnum();
λprintf(“%d,%dn”,x,y);λ}
┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅
int a;
fun(int i){
λa+=2*i;
λreturn a;
}
main(){
λint a=10;
λprintf(“%d,%dn”,fun(a),a);
λ}
Lab 6 Array(Part Ⅰ)
上机前的预习:在实验预习报告上画好流程图,并编写好源程序及运行程序所需的典型数据。
⒈ 产生1000—5000之间的100个随机整数,找出其中的素数,用冒泡法对找出的素数进行排序。
请将产生的随机数、找出的素数和排序后的素数分别输出。
⒉ 有一个按非递增排列好的数组,今输入一个数,要求按原来排序的规律将它插入到数组中。
⒊ 计算以下整数的标准差和平均值。
-6,-12, 8, 13, 11, 6, 7, 2,-6,-9,-10, 11, 10, 9, 2
其中,标准差的计算公式为:xi-x
n2
⒋ 某班级有100个学生,现选举班长,有5个候选人,请统计每个候选人的票数,并用冒泡排序法对票数进行排序。
⒌ 任意输入10个数,求这个10个数中最大的间隔值(即是最大值与最小值的差)。
要求:若需要排序,必须用选择法排序。
⒍ 约瑟夫问题。
M个人围成一圈,从第一个人开始依次从1至N 循环报数,每当报数为N时此人出圈,直到圈中只剩下一个人为止。
请按退出次序输出出圈人原来的编号以及留在圈中的最后一个人原来的编号。
Lab 7 Array(Part Ⅱ)
上机前的预习:在实验预习报告上画好流程图,并编写好源程序及运行程序所需的典型数据。
⒈ 假设有一个数组,存放着10个数,现输入一个数,用顺序查找法找出该数是数组中第几个元素。
如果该数不在数组中,则打印“无此数”。
⒉ 用递推法打印杨辉三角形(提示:利用二维数组)。
⒊ 找出二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。
也可能没有鞍点。
⒋ 编程找出一个二维数组中值最大和值最小的元素,并告知所在行号和列号。
⒌ 输入一个3行4列的矩阵和4行5列的矩阵,计算这两个矩阵相乘的结果。
Lab 8 Pointers
上机前的预习:在实验预习报告上画好流程图,并编写好源程序及运行程序所需的典型数据。
要求:本次实验的所有题目要求用指针来实现。
⒈ 输入10个整数,将其中最大的数与第一个数对换,把最小的数与最后一个数对换。
要求:输入、处理和输出分别用一个函数实现。
输入三个整数,要求由大到小输出。
⒉ 设计一个函数,对10个字符串由小到大顺序排序。
要求:对字符串赋初值、排序和输出都用一个函数来实现。
⒊ 编写程序,验证哥德巴赫猜想。
哥德巴赫提出:一个不小于6的偶数必定能表示为两个素数之和。
例如: 6=3+3 8=5+310=7+3……
要求将6~500之间的偶数表示为两个素数之和。
即该程序将打印出一个偶数分解成两个素数和的全部组合。
⒋ 输入10个整数,再输入一个待查找的整数,采用二分查找法在前10个整数中搜索,若存在输出“found”,否则输出“not exist”。
要求:二分查找时搜索的工作变量要用指针来实现。
⒌ 假设有一个数组int A[nSize],假设其中隐藏着若干0,其余非
0整数,写一个函数int Fun(int* A, int nSize),使把0移至后面,非0整数移至数组前面并保持原来的顺序,返回值为原数据中第一个元素为0的下标。
Lab 9 Strings, Preprocessor
上机前的预习:在实验预习报告上画好流程图,并编写好源程序及运行程序所需的典型数据。
⒈ 有n个国家名,要求按字母先后顺序排列,并按升序输出。
(要求:尽量使用标准字符串函数)
⒉ 输入字符串1和字符串2,若字符串1比字符串2大,则把字符串2连接到字符串1的后面;若字符串2比字符串1大,则把字符串1连接到字符串2的后面,并输出连接后的新字符串的长度。
⒊ 定义一个带参数的宏,计算n!,并在主函数中使用这个宏。
并比较带参数的宏与函数的异同。
⒋ 输入一行字母字符,根据需要设置条件编译,使之能升序输出或降序输出。
⒌ 定义一个求三个数中最大值的宏,并在在主函数中使用这个宏,求出输入的三个整数的最大值。
Lab 10 Structures and Linked Lists
上机前的预习:在实验预习报告上画好流程图,并编写好源程序及运行程序所需的典型数据。
⒈ 定义一个结构体变量(包括年、月、日)。
计算该日在本年中是第几天,注意闰年问题。
⒉ 有10个职工,每个职工的数据包括:职工号、姓名、基本工资、奖励工资、扣项合计和实发工资,从键盘输入这10个人的数据(不含实发工资)。
要求实发工资由前三项工资计算,找出工资最高者的职工号和姓名,并打印整张职工工资表。
⒊ 建立一个链表,每个结点中包括学号、姓名、性别和成绩。
要求输入一个成绩x,查找该链表中是否有成绩等于x的结点。
⒋ 建立一个结点按学生成绩从小到大顺序排列的链表,每个结点中包括学号、姓名、性别和成绩。
要求:输入一个新的学生结点信息,根据其成绩,插入到原链表中并将链表输出;要求:输入一个学生的。