题目描述
定义学生结构体,包括学号、及三门功课的成绩和总分,按照总分从小到大输出学生学号与总分。
输入
输入包含n(n<20)个学生的信息, 第1行学生人数。
第2行--第n+1行为学生信息,包括学号、及三门功课的成绩。
输出
从小到大输出学生学号与总分。
样例输入
3 1001 70 80 90 1002 60 70 80 1003 80 90 90
样例输出
1002 210 1001 240 1003 260
#include<stdio.h>
struct stur
{
int num;
int fs1;
int fs2;
int fs3;
int zf;
}per[20];
void main()
{
int n,p,i,j;
struct stur t;
scanf("%d",&n);
for(i=0;i<n;i++)
{
scanf("%d",&per[i].num);
scanf("%d",&per[i].fs1);
scanf("%d",&per[i].fs2);
scanf("%d",&per[i].fs3);
}
for(i=0;i<n;i++)
per[i].zf=per[i].fs1+per[i].fs2+per[i].fs3;
for(i=0;i<n;i++)
{
p=i;
for(j=i+1;j<n;j++)
if(per[j].zf<per[p].zf)
p=j;
if(i!=p)
{t=per[i];per[i]=per[p];per[p]=t;}
printf("%d %d\n",per[i].num,per[i].zf);
}
}