C语言程序设计第四版(谭浩强)9.5 有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩。读入这10个学生的数据,要求输出3门课程的总平均成绩,以及个人平均分最高的学生的数据,

//*作者:冰糖
//*日期:2018年12月1日
//*章节:第九章
//*题号:5 
//*题目:有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩。读入这10个学生的数据,要求输出3门课程的总平均成绩,以及个人平均分最高的学生的数据, 
#include
#define N 10
struct STUDENT
{
     
	int num;
	char name[20];
	float score[3];
	float aver;
};
int main()
{
     
	void input(struct STUDENT s[]);
	void step(struct STUDENT s[]);
	struct STUDENT s[N];
	input(s);
	step(s);
	return 0;
}
void input(struct STUDENT s[])
{
     
	int i;
	for(i=0;i<N;i++)
	{
     
		scanf("%d %s %f %f %f",&s[i].num,&s[i].name,&s[i].score[0],&s[i].score[1],&s[i].score[2]);
		s[i].aver=(s[i].score[0]+s[i].score[1]+s[i].score[2])/3.0;
	}
}
void step(struct STUDENT s[])
{
     
	int i,j=0;
	float m=0;
	struct STUDENT t;
	for(i=0;i<N;i++)
	{
     
		m=s[i].aver+m;
	}
	m=m/10.0;
	printf("3门课程的总平均成绩为:\n%.4f\n",m);
	for(i=0;i<N;i++)
	{
     
		if(s[i].aver>s[j].aver)
			j=i;
		t=s[j];
	}
	printf("成绩最高的:\n");
	printf("%d %s %.0f %.0f %.0f %.4f",t.num,t.name,t.score[0],t.score[1],t.score[2],t.aver);
}

你可能感兴趣的:(C语言,程序设计,算法,c语言)