作业还是自己动手做的好。这里是我以前写的可以参考一下
#include <stdio.h>
int luru(int a[][],int *p);
int paixu(int i,int n,int a[][2]);
int chengjipaixu(int n,int a[][2]);
int main(void)
{
int shu,i, n=0,a[300][3]={{0,0,0}};
/*a[0][0]代表数学成绩,a01代表物理成绩,a02代表总成绩*/
char code;
for(;;)
{
printf("enter operation code: ");
scanf("%c",&code);
while(getchar()!='\n');
switch(code)
{
case 'a': luru(a,&n);break;/*录入成绩*/
case 'b': paixu(i,n,a);break;
case 'c' : chengjipaixu(n,a);break;
default: printf("Illegal code\n");
}
printf("\n");
}
}
int luru(int a[][3],int *p){
int i;
printf("请输入学号:\n");
scanf("%d",&i);
if(a[i][0]!=0) exit(0);
printf("请输入数学成绩:\n");
scanf("%d",&a[i][0]);
printf("请输入物理成绩:\n");
scanf("%d",&a[i][1]);
a[i][2]=a[i][0]+a[i][1];
if(i>*p) *p=i;
}
int paixu(int i,int n,int a[][3]){
for(i=0;i<=n;i++)
{
if(a[i][0]==0) continue;
printf("按学号排列\n学号%d\n",i);
printf("数学成绩%d\n",a[i][0]);
printf("物理成绩%d\n",a[i][1]);
printf("总成绩%d\n",a[i][2]);
}}/*按学号排序*/
int chengjipaixu(int n,int a[][3])
{
int i;
int j,p,tmp;
int b[300][2];/*将总成绩和学号存储在数组中,b[][0]代表总成绩,b[][1]代表学号*/
for(p=0;p<=n;p++)
{
tmp=a[p][2];
for(j=p;j>0&&b[j-1][0]>tmp;j--)/*插入排序*/
b[j][1]=b[j-1][1];
b[j][0]=tmp;
b[j][1]=p;}
for(j=n;j>=0;j--)
{
i=b[j][1];
if(a[i][2]==0) continue;
printf("按总成绩排列\n学号%d\n",i);
printf("数学成绩%d\n",a[i][0]);
printf("物理成绩%d\n",a[i][1]);
printf("总成绩%d\n",a[i][2]);
}
}/*按总成绩排序*/
给你一点提示所谓的switch其实就是switch(60<a&&a<80)成立的话然后定义这个学生为b等级。剩下的你自己思考吧
温馨提示:内容为网友见解,仅供参考