简单回顾:
# 什么是二维数组?
在一维数组上多加了一个维度,多个一维数组叠加起来就是二维数组
#二位数组的定义
①数据类型 数据名 [行数] [列数] ;
②数据类型 数据名 [行数] [列数] = { (数据1,数据2),(数据3,数据4)} //更加直观
③数据类型 数据名 [行数] [列数] = { 数据1 ,数据2,数据3,数据4 }
④数据类型 数据名 [ ] [列数] = { 数据1 ,数据2,数据3,数据4 }
#查看所占内存空间:sizeof(arr) / 某一行所占内存空间 sizeof(arr[0])
#如何获得数组的相关参数首地址:数组名 / 某一行所占内存空间 arr[0] / 某一个元素 arr[0][0]
============================ 回顾完成 测试加载中......=========================
题目:利用二维数组输出所有学生的总成绩
分析:
每一个人的成绩可以用一个一维数组存储起来,整个班级的成绩可以用一个二维数组输出来
每一行可以计算出每一个人的总分,每一列可以计算出每一科的平均分
代码:
#include <iostream>
using namespace std;
int main() {
//创建二维数组
int a[][3]{
{85,100,93},
{92,98,96},
{90,88,100},
{95,93,98},
};
//计算总分并写入数组
for (int i = 0; i < 4; i++) {
int sum = 0;
for (int j = 0; j < 3; j++) {
sum += a[i][j];
}
cout << endl << "第" << i + 1 << "个人的总分为" << sum << endl;
}
//计算总分并写入数组
for (int j = 0; j < 3; j++) {
float sum = 0;
float avg = 0;
for (int i = 0; i < 4; i++) {
sum += a[i][j];
avg = sum / 4;
}
cout << endl << "第" << j + 1 << "科的平均分为" << avg << endl;
}
system("pause");
return 0;
}
运行结果:
验算一下: