填写说明:1、同一名教师在不同教学班教授的同一门课程只须填写一份教学日历;由不同教师教授的同一门课程每人填写一份教学日历。2、“作业、实验”栏中的作业,是指教师计划布置的,应该批改的作业。3、法定假日不安排教学内容,其课次顺延安排。系统开发语言作业现有一个班级,共10人,本学期共学习三门课程,设计一个学生成绩管理系统,要求如下:1、完成三门课程成绩输入;或单门课程录入、或同时录入三门课。2、完成成绩排序:按单科成绩排序、按平均分排序;3、完成成绩统计:按单科分段统计人数、按平均分分段统计(60分以下,60-79分,80以上);4、用结构体完成学生姓名和成绩的输入:5、完成成绩查询:单科查询、平均分查询、按姓名查询、分段查询等;6、完成奖学金统计:三门课均高于90分,一等奖学金;三门课均高于80分,二等奖学金,统计获奖学金人数7、完成成绩输出:按单科输出、输出所有成绩、按平均分由高到低输出,输出奖学金名单等;.作业要求第1、2、3周、完成成绩录入、排序和统计第4、5、6周、完成菜单和函数编制第2、8、9周、完成成绩查询和统计第10、11周、完成查询输出第12、13周、讲程序进行函数化、模块化第14、15周、应用指针、指针函数以及函数指针等第16周,完善程序、验收。最后打印出完整代码清单代码如下:#include<stdio.h>structstudent{floatmath;floatChinese;floatEnglish;floataverage;charname[5];};voidinputgread(structstudentstu)//输入成绩{inta=0;scanf("%s",stu.name);printf("按顺序输入数学成绩,语文成绩,英语成绩");scanf("%f%f%f",stu.math,stu.Chinese,stu.English);}voidChinesecompositor(structstudentstu[])//按语文排序{intnum=0,num2=0;structstudentp;for(num2;num2<9;num2++){for(num;num<9;num++){if(stu[num].Chinese<stu[num+1].Chinese){p=stu[num];stu[num]=stu[num+1];stu[num+1]=p;}}}for(num=0;num<10;num++){printf("%c:%f",stu[num].name,stu[num].Chinese);}}voidmathcompositor(structstudentstu[])//按数学排序{intnum=0,num2=0;structstudentp;for(num2;num2<9;num2++){for(num;num<9;num++){if(stu[num].math<stu[num+1].math){p=stu[num];stu[num]=stu[num+1];stu[num+1]=p;}}}for(num=0;num<10;num++){printf("%c:%f",stu[num].name,stu[num].math);}}voidEnglishcompositor(structstudentstu[])//按英语排序{intnum=0,num2=0;structstudentp;for(num2;num2<9;num2++){for(num;num<9;num++){if(stu[num].English<stu[num+1].English){p=stu[num];stu[num]=stu[num+1];stu[num+1]=p;}}}for(num=0;num<10;num++){printf("%c:%f",stu[num].name,stu[num].English);}}voidAverage(structstudentstu)//平均分{intnum=0;stu.average=(stu.Chinese+stu.English+stu.math)/3;}voidAveragecompositor(structstudentstu[])//按平均分排序{intnum=0,num2=0;structstudentp;for(num2;num2<9;num2++){for(num;num<9;num++){if(stu[num].average<stu[num+1].average){p=stu[num];stu[num]=stu[num+1];stu[num+1]=p;}}}for(num=0;num<10;num++){printf("%c:%f",stu[num].name,stu[num].average);}}voidnamecheck(structstudentstu[],char*na)//按姓名查询{intnum=0;for(num;num<10;num++){if(na==stu[num].name){printf("姓名:%s数学:%f语文:%f英语:%f",stu[num].name,stu[num].math,stu[num].English);}}}voidscholarship(structstudentstu[])//奖学金{intnum=0,count=0;printf("一等奖学金名单:\n");for(num;num<10;num++){if(stu[num].Chinese>=90stu[num].English>=90stu[num].math>=90){printf("%s",stu[num].name);count++;}}printf("\n二等奖学金名单:\n");for(num;num<10;num++){if(stu[num].Chinese>=80stu[num].English>=80stu[num].math>=80){printf("%s",stu[num].name);count++;}}printf("奖学金人数:%d",count);}voidscorecut(structstudentstu[],intn)//分数段{intnum=0,count=0;switch(n){case1:{printf("语文成绩分数段:\n");printf("90分以上:\n");for(num;num<10;num++){if(stu[num].Chin...