成绩统计二维数组(c++)

题目描述

有m个学生,每个学生有n门课程,已知所有学生的各门课成绩,分别求出每门课的平均成绩和每个学生的平均成绩.例如:有4个学生,每个学生3门课程: 课程1 课程2 课程3

学生1 89 78 56

学生2 88 99 100

学生3 72 80 61

学生4 60 70 75

输入格式

输入m和n,用隔空隔开(1<m,n<100),接下来为m行,每行n个分数。

输出格式

输出结果第一行代表每个学生的平均分,第二行代表每门课程的平均分。

样例输入

2 3
60 70 80
80 60 100

样例输出

70 80
70 65 90
#include <iostream>
using namespace std;
int a[101][101]={0};           //创建二维数a组并全部赋值为0
int main()
{
	int i,j,n,m,sum1,sum2;
	cin>>n>>m;                 //输入人数n及课程数m
	for(i=0;i<n;i++)
	{
		for(j=0;j<m;j++)
		{
			cin>>a[i][j];      //输入二维数组a
		}
	}
	for(i=0;i<n;i++)
	{
		sum1=0;
		for(j=0;j<m;j++)
		{
			sum1+=a[i][j];     
		}
		cout<<1.0*sum1/m<<" ";
	}
	cout<<endl;                //别忘换行!            
    for(j=0;j<m;j++)
	{
		sum2=0;
		for(i=0;i<n;i++)
		{
			sum2+=a[i][j];
		}
		cout<<1.0*sum2/n<<" "; //输出平均分
	}
	return 0;
}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
主函数: ```c++ #include <iostream> using namespace std; void aver(int (*stu)[4]); // 求第一门课的平均分 void fals(int (*stu)[4]); // 统计有2门以上(含2门)课程不及格的同学人数 void well(int (*stu)[4]); // 统计平均成绩在90分以上(含90分)或者全部课程成绩在85分以上(含85分)的同学人数 int main() { int stu[5][4]; cout << "请输入5个学生的4门课成绩:" << endl; for (int i = ; i < 5; i++) { for (int j = ; j < 4; j++) { cin >> stu[i][j]; } } cout << "输入的成绩为:" << endl; for (int i = ; i < 5; i++) { for (int j = ; j < 4; j++) { cout << stu[i][j] << " "; } cout << endl; } aver(stu); fals(stu); well(stu); return ; } ``` 求第一门课的平均分: ```c++ void aver(int (*stu)[4]) { int sum = ; for (int i = ; i < 5; i++) { sum += stu[i][]; } double average = (double)sum / 5; cout << "第一门课的平均分为:" << average << endl; } ``` 统计有2门以上(含2门)课程不及格的同学人数: ```c++ void fals(int (*stu)[4]) { int count = ; for (int i = ; i < 5; i++) { int fail = ; for (int j = ; j < 4; j++) { if (stu[i][j] < 60) { fail++; } } if (fail >= 2) { count++; } } cout << "有2门以上课程不及格的同学人数为:" << count << endl; } ``` 统计平均成绩在90分以上(含90分)或者全部课程成绩在85分以上(含85分)的同学人数: ```c++ void well(int (*stu)[4]) { int count = ; for (int i = ; i < 5; i++) { int sum = ; bool flag = true; for (int j = ; j < 4; j++) { sum += stu[i][j]; if (stu[i][j] < 85) { flag = false; } } double average = (double)sum / 4; if (average >= 90 || flag) { count++; } } cout << "平均成绩在90分以上或者全部课程成绩在85分以上的同学人数为:" << count << endl; } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值