练习-各科最高分

一、背景故事

期末考试要纪录语文、数学、英语三科成绩,老师要输入班级里每个同学的三科成绩,然后统计出每个科目里的最高分。

二、实验目标

编写程序,第一行输入n表示班级人数,然后每一行表示某一个同学的三科成绩,一共n个同学。统计输出每个学科的最高分。

输入样例-第一行n,然后n行3列的数:

3
60 70 80
80 80 89
70 80 100

输出样例

1 80
2 80
3 100

分析

  1. 使用二维数组a[n][3]存储各科成绩,其中行表示一个同学的三科成绩,列表示一个科目每个同学的成绩。
  2. 内层循环:列j固定以后,i表示本科的每个成绩:
    • 使用max模式找出一列数据的最高分。
    • 输出此学科的最高分。
  3. 外层循环:遍历找出每个学科的最高分。

三、实验步骤

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];

代码

见上方