c++输入一个班级的学生人数((学生人数不超过60人〉,再输入该班学生每个学生的学号和某门课的成绩,要求用函数编程实现输出最高分及其学号
时间: 2024-03-07 13:49:16 浏览: 61
C语言输入学生成绩,计算并输出这些学生的最低分、最高分、平均分。
好的,我可以帮你解决这个问题。你可以尝试以下代码:
```cpp
#include <iostream>
using namespace std;
const int MAX_NUM = 60;
void findHighestScore(int* scores, int* stuIds, int num) {
int maxScore = scores[0];
int maxStuId = stuIds[0];
for (int i = 1; i < num; i++) {
if (scores[i] > maxScore) {
maxScore = scores[i];
maxStuId = stuIds[i];
}
}
cout << "最高分数为:" << maxScore << ",学生学号为:" << maxStuId << endl;
}
int main() {
int num;
cout << "请输入学生人数:" << endl;
cin >> num;
int scores[MAX_NUM];
int stuIds[MAX_NUM];
cout << "请依次输入每个学生的学号和该门课成绩:" << endl;
for (int i = 0; i < num; i++) {
cin >> stuIds[i] >> scores[i];
}
findHighestScore(scores, stuIds, num);
return 0;
}
```
解释一下代码:
我们首先定义了一个 `findHighestScore` 函数,该函数接收三个参数:学生成绩数组 `scores`,学生学号数组 `stuIds`,以及学生人数 `num`。该函数会遍历整个学生成绩数组,找到最高分数以及对应的学生学号,并将其输出。
在 `main` 函数中,我们首先输入学生人数,然后定义了两个数组 `scores` 和 `stuIds`,分别用于存储学生成绩和学生学号。接着,我们使用一个循环依次输入每个学生的学号和成绩,最后调用 `findHighestScore` 函数输出最高分数和学生学号。
希望这个代码能够帮助到你!
阅读全文