用 C 语言写的学生成绩管理系统/*这是一个学生管理系统,它有输入,输出,求和,查询等几项功能*/#include #include FILE *fp;int a[100][10]; /*定义一个二位数组用来存放学生成绩*/int stu;inputx(){gotoxy(15,13);textcolor(RED);printf("请输入你们班的学生数:");scanf("%d",&stu);}input() /*输入学生成绩*/{int i;for(i=1;i<=stu;i++){ scanf("%8d%8d%8d%8d%8d%8d",&a[i][1],&a[i][2],&a[i][3],&a[i][4],&a[i][5],&a[i][6]);}}print1() /*输出成绩表,并求总分,平均分和排名次*/{int i,j;int b[100],c[100];int t,loc,k;fp=fopen("成绩表.txt","w");for(i=1;i<=stu;i++) /*求总分和平均分*/{a[i][7]=0;for(j=2;j<=6;j++)a[i][7]=a[i][7]+a[i][j];a[i][8]=a[i][7]/5;}for(i=1;i<=stu;i++) /*排名*/{b[i]=a[i][7];c[i]=i;}for(i=1;i<=stu-1;i++){loc=i;for(j=i+1;j<=stu;j++)if(b[j]>b[loc])loc=j;if(loc!=i){t=b[i];b[i]=b[loc];b[loc]=t;t=c[i];c[i]=c[loc];c[loc]=t;}}for(i=1;i<=stu;i++)for(k=1;k<=stu;k++)if(c[k]==i){a[i][9]=k;break;}for(i=1;i<=stu;i++) /*输出成绩表*/{for(j=1;j<=9;j++)printf("%-6d",a[i][j]);printf("\n");}/*以下输出成绩表存到一个文件中*/fprintf(fp,"学号 语文 数学 英语 物理 化学 总分 均分 名次\n");for(i=1;i<=stu;i++){for(j=1;j<=9;j++)fprintf(fp,"%-6d",a[i][j]);fprintf(fp,"\n");}}print2() /*求各科总分和平均分*/{int i,j;int m[3][6];for(j=2;j<=6;j++){m[1][j-1]=0;for(i=1;i<=stu;i++)m[1][j-1]=m[1][j-1]+a[i][j];m[2][j-1]=m[1][j-1]/stu;}for(i=1;i<=2;i++){for(j=1;j<=5;j++)printf("%-6d",m[i][j]);printf("\n");}}change() /*修改学生成绩*/{int m,b,c,i,n=0;printf("请输入您要修改的学生的学号:");scanf("%d",&m);printf("1,语文;2,数学;3,英语;4,物理;5,化学;\n");printf("请选择您要修改的科目:");scanf("%d",&b);printf("请输入新的学生成绩:");scanf("%d",&c);for(i=1;i<=stu;i++)if(m!=a[i][1]) n++;else {n++;break;}a[n][b+1]=c;printf("\n 重新输出成绩表\n");printf("学号 语文 数学 英语 物理 化学 总分 均分 名次\n");print1();go();}go() /*选择菜单*/{int n;printf("\n 现在您将会遇到以下几种情况:\n");printf("1,继续查询;2,修改数据;3,重新运行;4,结束程序;\n");printf("请您根据需要按键选择:");...