C语言例5-12:已知M个学生的N门课程的成绩,分别计算每位学生的平均成绩和每门课程的平均成绩并输出

代码如下:

//已知M个学生的N门课程的成绩,分别计算每位学生的平均成绩和每门课程的平均成绩并输出
#include<stdio.h>
#define M 5
#define N 4
int main(void)
{
	int i,j;
	float score[M][N]={{78,85,83,65},{88,91,89,93},{72,65,54,75},{86,88,75,60},{69,60,50,72}};
	float stu_ave[M]={0};
	float cla_ave[N]={0};
	//外层循环,逐一计算每位学生的平均成绩
	for(i=0;i<M;i++)
	{
		//内层循环,逐一计算每位学生每门课程的总成绩
		for(j=0;j<N;j++)
		{
			stu_ave[i]+=score[i][j];  //计算第i个学生N门课程的总成绩
			cla_ave[j]+=score[i][j];  //计算第j门课的总成绩
		}
		stu_ave[i]/=N;   //计算第i个学生的平均成绩
	}
	for(j=0;j<N;j++)  cla_ave[j]/=M;   //计算第j门课的平均成绩
	printf("学生编号        课程1  课程2  课程3  课程4  个人平均成绩\n");
	//输出每个学生的各科成绩和平均成绩
	for(i=0;i<M;i++)
	{
		printf("Student%d\t",i+1);
		for(j=0;j<N;j++) printf("%.1f   ",score[i][j]);
		printf("%0.1f   \n",stu_ave[i]);
	}
	//输出每门课程的平均成绩
	printf("\n课程平均        ");
	for(j=0;j<N;j++) printf("%.1f   ",cla_ave[j]);
	printf("\n");
	return 0;
}

结果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值