#include "stdafx.h"
#include<stdio.h>
#include<string.h>
struct STU
{
int num;
char name[10];
int score[3];
float avg;
}student[5];
int _tmain(int argc, _TCHAR* argv[])
{
int i,j,temp;
char namet[10];
printf("请录入5位学生的数据,对应是学号,姓名和三门成绩:/n");
for(i=0;i<5;i++) //数据的输入
{
scanf("%d%s",&student[i].num,&student[i].name);
student[i].avg=0;
for(j=0;j<3;j++)
{
scanf("%d",&student[i].score[j]);
student[i].avg+=student[i].score[j];
}
student[i].avg/=3;
}
//进行输出
printf("/n-----------------------------------------------------/n");
printf("以下是您输入的学生数据:/n");
printf("-----------------------------------------------------/n");
for (i=0;i<5;i++)
{
printf("学号:%-5d姓名:%-10s",student[i].num,student[i].name);
printf("三门成绩分别是:%-4d%-4d%-4d/n",student[i].score[0],student[i].score[1],student[i].score[2]);
}
for(j=1;j<5;j++) //按学生的平均成绩进行从大到小的顺序
for(i=5-j;i>=0;i--)
if(student[i].avg<student[i+1].avg)
{
temp=student[i].avg;
student[i].avg=student[i+1].avg;
student[i+1].avg=temp;
strcpy(namet,student[i].name);
strcpy(student[i].name,student[i+1].name);
strcpy(student[i+1].name,namet);
}
//对前3的学生数据进行输出
printf("/n-----------------------------------------------------/n");
printf("平均分在前3名的学生分别是:/n");
printf("-----------------------------------------------------/n");
for(i=0;i<3;i++)
printf("%-10s平均分:%.2f/n",student[i].name,student[i].avg);
return 0;
}