#include<stdio.h>
#define course 2
#define stud 40
int input(int score[][course],long num[])
{
int i,j,n;
printf("\t\t======================================================\n");
printf("\t\t|| 学生成绩管理系统 ||\n");
printf("\t\t======================================================\n");
printf("\t\t>>>输入学生的人数:");
scanf("%d",&n);
printf("\t\t请按顺序输入学号,学科成绩,不同项之间用 Tab 隔开:\n");
printf("学号 高等数学 大学物理 \n");
for(i=0;i<n;i++)
{
scanf("%ld",&num[i]);
for(j=0;j<course;j++)
{
scanf("%d",&score[i][j]);
}
}
return n;
}
void total(int score[][course],int sum[],int n)
{
int i,j;
for(i=0;i<n;i++)
{
sum[i]=0;
for(j=0;j<course;j++)
{
sum[i]=sum[i]+score[i][j];
}
}
}
void sort(int score[][course],long num[],int sum[],int n)
{
int temp,temp1,temp2,temp3;
int i,j,k;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(sum[j]>sum[i])
{
temp=sum[j];
sum[j]=sum[i];
sum[i]=temp;
for(k=0;k<course;k++)
{
temp3=score[j][k];
score[j][k]=score[i][k];
score[i][k]=temp3;
}
temp1=num[j];
num[j]=num[i];
num[i]=temp1;
}
}
void print(int score[][course],long num[],int sum[],int n)
{
int i,j;
printf("Result:\n");
printf(" \t 高等数学 \t 大学物理 \t总分 \n");
for(i=0;i<n;i++)
{
printf("%4ld\t",num[i]);
for(j=0;j<course;j++)
{
printf("%4d\t\t",score[i][j]);
}
printf("%5d \n",sum[i]);
}
}
void main()
{
int n;
long num[stud];
int score[stud][course],sum[stud];
n=input(score,num);
total(score,sum,n);
sort(score,num,sum,n);
print(score,num,sum,n);
}