3董晶晶
“计算机软件技术基础”课程实验报告(五)
一.实验内容:
1、设计一程序,要求:输入学生“软件技术基础”课的成绩(学
号、姓名、成绩);按成绩对学生数据进行排序。(要求:实现任选3种排序算法)
二.程序:
1、程序规范输入数据:学生“软件技术基础”课的成绩(学号、姓名、成绩);功能:按成绩对学生数据进行排序;
输出数据:排序后学生“软件技术基础”课的成绩(学号、姓名、成绩)。
、算法[结构体]
structstudent{
charname[N];
charnum[N];
floatscore;
[插入排序]
voidInsertSort(structstudentStu[],intn)
{inti,j;
structstudenttemp={0};
3董晶晶
for(i=2;i<=n;i++)
temp=Stu[i];
for(j=i-1;j>0(XXX Stu[j+1]=Stu[j]; Stu[j+1]=temp; [选择排序] voidSelectSort(structstudentStu[],intn) {inti,j,d; structstudenttemp; for(i=1;i {d=i; for(j=i+1;j if(Stu[j].score d=j; if(d!=i) {temp=Stu[d]; Stu[d]=Stu[i]; Stu[i]=temp; 3董晶晶 [冒泡排序] voidBubbleSort(structstudentStu[],intn) {inti,j,flag=1; structstudenttemp; i=n-1; while(i>0flag==1) {flag=0; for(j=1;j<=i;j++) if(Stu[j].score>Stu[j+1].score||Stu[j].score==Stu[j+1].scorestrcmp(Stu[j].num,Stu[j+1].num)>0) {temp=Stu[j]; Stu[j]=Stu[j+1]; Stu[j+1]=temp; flag=1; i--;