数据结构,用C语言实现,基于链表的学生成绩管理系统,根据学号和姓名创建索引

在学号索引上折半查找学号,根据索引,在学号递增次序显示学生信息,按姓名递增次序显示学生信息,这代码该怎么写

看可以不咯?#includeintavgGrade(inta[50]){inti,sum=0,max=0,min=0;doubleavg=0.0;max=a[0];min=a[0];for(i=0;imax)max=a[i];if(a[i]a[i]){temp=a[i];a[i]=a[j];a[j]=temp;}}else{if(a[j]a[i]){for(s=49;s>=i;s--)a[s+1]=a[s];break;}a[i]=n;}intdeleteGrade(inta[50]){intx,i,j;printf("请输入你要删除的成绩:\n");scanf("%d",&x);for(i=0;i<10;i++){if(a[i]==x)for(j=i+1;j<10;j++)a[i]=a[j];a[j]='\0';}}voidmain(){intn,i,a[50];printf("请输入50个学生的成绩:\n");for(i=0;i<50;i++){scanf("%d",&a[i]);}while(1){printf("--------------------------\n");printf("请选择您的功能:\n\n");printf("0录入成绩\n");printf("1输出成绩\n");printf("2输出平均分、最高分、最低分\n");printf("3成绩降序或升序排列\n");printf("4插入一个成绩\n");printf("5删除用户给定的成绩\n");printf("6退出\n\n");printf("--------------------------\n");scanf("%d",n);switch(n){case0:printf("请输入50个学生的成绩:\n");for(i=0;i<50;i++){scanf("%d",&a[i]);}break;case1:for(i=0;i<50;i++){printf("%d",a[i]);}break;case2:avgGrade(a);break;case3:compositor(a);break;case4:insertGrade(a);break;case5:deleteGrade(a);break;case6:exit(0);}}return0;}追问

怎么根据学号和姓名创建索引并且根据索引,按学号递增次序显示学生信息,按姓名递增次序显示学生信息,代码应该不长,但是主要是细节上的构思我还是不太会

温馨提示:答案为网友推荐,仅供参考
相似回答