0
点赞
收藏
分享

微信扫一扫

题目 1051: [编程入门]结构体之成绩统计2(C语言)

落拓尘嚣 2022-03-22 阅读 71
c语言

题目描述
有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩)
输入
学生数量N占一行每个学生的学号、姓名、三科成绩占一行,空格分开。
输出
各门课的平均成绩 最高分的学生的数据(包括学号、姓名、3门课成绩)
样例输入
2
1 blue 90 80 70
b clan 80 70 60
样例输出
85 75 65
1 blue 90 80 70
参考代码:

#include<stdio.h>
#include<string.h>
struct Student input(struct Student student);
void print(struct Student student);
struct Student{
	char xh[10];
	char name[10];
	int score1,score2,score3;
}student[100];
int main(void)
{
	int N,i;
	int average1=0,average2=0,average3=0;
	int a[100],max=0;
	scanf("%d",&N);
	for(i=0;i<N;i++)
	{
		student[i]=input(student[i]);
		a[i] =student[i].score1+student[i].score2+student[i].score3;
		average1 +=student[i].score1;
		average2 +=student[i].score2;
		average3 +=student[i].score3;
		if(a[max]<a[i])
		{
			max = i;
		}
	}
	average1= average1 / N;
	average2= average2 / N;
	average3= average3 / N;
	printf("%d %d %d\n",average1,average2,average3);
	print(student[max]);
	return 0;
} 
struct Student input(struct Student student)
{
	scanf("%s",student.xh);
	scanf("%s",student.name);
	
		scanf("%d%d%d",&student.score1,&student.score2,&student.score3);
	return student;	
}
void print(struct Student student)
{	
	printf("%s %s ",student.xh,student.name);
	printf("%d %d %d\n",student.score1,student.score2,student.score3);				
}	
举报

相关推荐

0 条评论