c语言结构体和函数求学生平均分以及找出最高得分的学生

本题为用结构体求学生的平均分和分数最高的学生对应课程以及分数。
输入10个学生5门课的成绩,分别用函数实现以下功能:
1、计算每个学生平均分
2、计算每门课平均分
3、找出所有50个分数中最高的分数所对应的学生和课程

#include<stdio.h>
typedef struct stu{
	int num[20];
	float score1;
	float score2;
	float score3;
	float score4;
	float score5;
	float aver;
}student;
float a[5];
int main(){
	student stu[10];
	student averageScore(student stu[10]);
	student average5(student stu[10]);
	student max(student stu[10]);
	int i;
	for(i=0;i<10;i++){
		scanf("%d%f%f%f%f%f",stu[i].num,&stu[i].score1,&stu[i].score2,&stu[i].score3,&stu[i].score4,&stu[i].score5);
	}
	average5(stu);
	averageScore(stu);
	for(i=0;i<5;i++){
		printf("the %d score's average is %f",i,a[i]);
	}
	max(stu);
	return 0;
}
student average5(student stu[10]){
	int i;
	for(i=0;i<10;i++){
		stu[i].aver=(stu[i].score1+stu[i].score2+stu[i].score3+stu[i].score4+stu[i].score5)/5;
		printf("the %d student's average score is %f\n",stu[i].num,stu[i].aver);
	}
}
student averageScore(student stu[10]){
	int i;
	float sum=0;
	for(i=0;i<10;i++){
		sum=sum+stu[i].score1;
	}
	a[0]=sum;
	sum=0;
	for(i=0;i<10;i++){
		sum=sum+stu[i].score2;
	}
	a[1]=sum;
	sum=0;
		for(i=0;i<10;i++){
		sum=sum+stu[i].score3;
	}
	a[2]=sum;
	sum=0;
		for(i=0;i<10;i++){
		sum=sum+stu[i].score4;
	}
	a[3]=sum;
	sum=0;
		for(i=0;i<10;i++){
		sum=sum+stu[i].score5;
	}
	a[4]=sum;
}
student max(student stu[10]){
	int i,j,n,r,d;
	float s[50],max1=0;
	for(i=0;i<50;i=i+5){
		s[i]=stu[i].score1;
		s[i+1]=stu[i].score2;
		s[i+2]=stu[i].score3;
		s[i+3]=stu[i].score4;
		s[i+4]=stu[i].score5; 
	}
	for(i=0;i<50;i++){
		for(j=i+1;j<50;j++){
			if(s[i]>max1){
				max1=s[i];
				n=i;
			}
		}
	}
	printf("%d",n);
	r=n%5;
	d=n%10;
	printf("the max score is %f,the %dth student's %dth score",max1,d+1,r);
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Curious*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值