- zhuzixin 的博客
二维数组 (练习-各科最高分)
- 2023-7-28 14:57:42 @
练习-各科最高分
一、背景故事
期末考试要纪录语文、数学、英语三科成绩,老师要输入班级里每个同学的三科成绩,然后统计出每个科目里的最高分。
二、实验目标
编写程序,第一行输入n表示班级人数,然后每一行表示某一个同学的三科成绩,一共n个同学。统计输出每个学科的最高分。
输入样例
-第一行n,然后n行3列的数:
3
60 70 80
80 80 89
70 80 100
输出样例
:
1 80
2 80
3 100
分析
:
- 使用二维数组a[n][3]存储各科成绩,其中行表示一个同学的三科成绩,列表示一个科目每个同学的成绩。
- 内层循环:列j固定以后,i表示本科的每个成绩:
- 使用max模式找出一列数据的最高分。
- 输出此学科的最高分。
- 外层循环:遍历找出每个学科的最高分。
三、实验步骤
1、输入人数
int n;
cin >> n;
2、输入成绩
int a[n][3];
for(int i=0; i<n; i++)
for(int j=0; j<3; j++)
cin>>a[i][j];
3、外层循环
for(int j=0; j<3; j++)
{
cout << j+1 << "最高分:";
int max = -0x3f3f3f3f;
// 4. 预留内层循环:找最高分
cout << max << endl;
}
4、内层循环:找最高分
for(int i=0; i<n; i++)
if (a[i][j] > max)
max = a[i][j];