C语言求班级平均分案例讲解

我们先看例题:

       统计3个班成绩情况,每个班有5个同学,求出所有班级的平均分以及各个班级的平均分。

(从键盘输入成绩)。

思路分析

1.我们定义一个3行5列的二维数组用来存放学生的成绩,1行表示1个班的学生成绩,总共3行,可以存放3个班的成绩。每行有5列,可以存放一个班5个同学的成绩。

 代码如下

int arr[3][5];//定义一个二维数组
	int i,j,m;//定义平均分为m,
    int sum=0;//初始化3个班15个学生的成绩总分sum为0
	printf("请输入学生成绩:");
	printf("\n");
	for(i=0;i<3;i++){
		for(j=0;j<5;j++){
			scanf("%d",&arr[i][j]);
		}
	}
	printf("学生成绩用数组表示为:");
	printf("\n");
	for(i=0;i<3;i++){
		for(j=0;j<5;j++){
	     printf("%d\t",arr[i][j]);
		}
		printf("\n");
	}

2.用for循环遍历数组的所有值并求和,然后用和除以15的值就是所有班级的平均分

 代码如下

 for(i=0;i<3;i++){
		for(j=0;j<5;j++){
	     sum+=arr[i][j];
		}
	}
    m=sum/15;//所有班级的平均分为m

3.用for循环遍历数组每一行的值并求和,用和除以5的值就是每个班的平均分

代码如下

 for(i=0;i<3;i++){
		for(j=0;j<5;j++){
	     sum+=arr[i][j];
		}
        m=sum/5;//这样可以求出每个班的平均分
		printf("第%d个班的平均分为%d",i+1,m);
		sum=0;//循环一轮后需要对sum和m重新赋值为0
		m=0;
		}

案例全部代码如下

#include <stdio.h>
 void main(){
	int arr[3][5];//定义一个二维数组
	int i,j,m;//定义平均分为m,
    int sum=0;//初始化3个班15个学生的成绩总分sum为0
	printf("请输入学生成绩:");
	printf("\n");
	for(i=0;i<3;i++){
		for(j=0;j<5;j++){
			scanf("%d",&arr[i][j]);
		}
	}
	printf("学生成绩用数组表示为:");
	printf("\n");
	for(i=0;i<3;i++){
		for(j=0;j<5;j++){
	     printf("%d\t",arr[i][j]);
		}
		printf("\n");
	}
        for(i=0;i<3;i++){
		for(j=0;j<5;j++){
	     sum+=arr[i][j];
		}
	}
    m=sum/15;//所有班级的平均分为m
	printf("所有班级的平均分为%d\n",m);

   sum=0;// 求完所有班级的平均分后需要对sum和m重新赋值为0
   m=0;
        for(i=0;i<3;i++){
		for(j=0;j<5;j++){
	     sum+=arr[i][j];
		}
        m=sum/5;//这样可以求出每个班的平均分
		printf("第%d个班的平均分为%d",i+1,m);
		sum=0;//循环一轮后需要对sum和m重新赋值为0,然后继续执行循环
		m=0;
		}
 }

代码运行结果如下

 补充:每个班级平均分的输出语句里有i+1,这是因为用i表示输出的是第几个班级的平均分,而i在数组里初始化为0,不可能输出第0个班级的平均分,所以需要i+1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值