#include<stdio.h>
#define A 2
#define B 6
/*****************************************************************************/
void MaoPao(int (*p1)[B])
{
int i=0,j=0,temp,x;
for(x=0;x<A;x++)
for(i=0;i<5;i++)
{
for(j=0;j<5-i;j++)
{
if(*(*(p1+x)+j)>(*(*(p1+x)+j+1)))
{
temp=*(*(p1+x)+j);
*(*(p1+x)+j)=*(*(p1+x)+j+1);
*(*(p1+x)+j+1)=temp;
}
}
}
}
/*****************************************************************************/
void average(int (*p1)[B])
{
int ave=0,k,j,i;
float N1,N2;
loop1: printf("\n请输入学生学号以查询总分和平均分!(只能查看本人信息!)\n");
scanf("%d",&i);
switch(i)
{
case 200901:
for(k=0;k<1;k++)
{
for(j=0;j<B;j++)
{
ave+=*(*(p1+k)+j);
}
}
if(k==1)
{
printf("学生001的总分为:%d\n",ave);
N1=ave/6;
printf("学生001的平均分为:%f\n",N1);
ave=0;
}
break;
case 200902:
for(k=1;k<A;k++)
{
for(j=0;j<B;j++)
{
ave+=*(*(p1+k)+j);
}
}
if(k==2)
{
printf("学生002的总分为:%d\n",ave);
N2=ave/6;
printf("学生002的平均分为:%f\n",N2);
}
break;
default :printf("\n学号有误!请重新输入!\n");
goto loop1;
break;
}
/*printf("\n学生名次:\n");
if(N1>N2)
{
printf("\n第一名:001\n第二名:002\n");
}
else
printf("\n第一名:002\n第二名:001\n");*/
}
/*****************************************************************************/
void Delete(int (*p1)[B])
{
int i,j,k;
printf("\n请输入所要删除的学生学号:\n");
scanf("%d",&k);
switch(k)
{
case 200901:
for(i=0;i<1;i++)
for(j=0;j<B;j++)
{
*(*(p1+i)+j)=0;
}
printf("\n所有数据为空!!!!\n");
case 200902:
for(i=1;i<2;i++)
for(j=0;j<B;j++)
{
*(*(p1+i)+j)=0;
}
printf("\n所有数据为空!!!!\n");
}
}
/*****************************************************************************/
int main()
{
int i,k,a[A][B],j,(*b)[B];
b=a;
printf("\t\t\t\t学生成绩管理系统\n ");
loop: printf("\n请输入学号!\n");
scanf("%d",&i);
switch(i)
{
case 200901:
printf("数学\t英语\t语文\t化学\t生物\t物理\n");
for(k=0;k<1;k++)
{
for(j=0;j<B;j++)
{
scanf("%d",&a[k][j]);
}
}
printf("学生001的各科成绩:\n");
for(k=0;k<1;k++)
{
for(j=0;j<B;j++)
{
printf("%d\t",a[k][j]);
}
}
printf("\n学生成绩按照由小到大顺序排列:\n");
MaoPao(b);
printf("学生001的成绩顺序\n");
for(i=0;i<1;i++)
for(j=0;j<B;j++)
printf("%d\t",a[i][j]);
printf("\n学生的平均分和总分:\n");
average(b);
Delete(b);
break;
case 200902:
printf("数学\t英语\t语文\t化学\t生物\t物理\n");
for(k=1;k<2;k++)
{
for(j=0;j<B;j++)
{
scanf("%d",&a[k][j]);
}
}
printf("\n学生002的各科成绩:\n");
for(k=1;k<2;k++)
{
for(j=0;j<B;j++)
{
printf("%d\t",a[k][j]);
}
}
printf("\n学生成绩按照由小到大顺序排列:\n");
MaoPao(b);
printf("\n学生002的成绩顺序\n");
for(i=1;i<A;i++)
for(j=0;j<B;j++)
printf("%d\t",a[i][j]);
printf("\n学生的平均分和总分:\n");
average(b);
Delete(b);
break;
default :printf("\n学号有误!请重新输入!\n");
goto loop;
break;
}
return 0;
}