从键盘输入n位学生的m门成绩,找到第一个有一门成绩是满分的学生,c++
时间: 2024-10-04 21:04:29 浏览: 19
在C++中,你可以通过遍历数组的方式来解决这个问题。假设学生信息存储在一个二维数组中,每行代表一个学生,每列代表一门课程的成绩。首先,你需要获取用户输入的n(学生数)和m(课程数),然后初始化数组。接下来,使用while循环逐个检查每个学生的成绩,当发现有某个学生的任意一门课程得分为100分(C++中通常用整数100表示满分)时,就找到了满足条件的学生。
下面是一个简单的示例代码:
```cpp
#include <iostream>
using namespace std;
int main() {
int n, m;
cout << "请输入学生人数(n): ";
cin >> n;
cout << "请输入课程门数(m): ";
cin >> m;
// 假设每位学生有m个成绩
int scores[n][m];
for(int i = 0; i < n; ++i) {
for(int j = 0; j < m; ++j) {
cout << "请输入第" << (i+1) << "位学生第" << (j+1) << "门课程的成绩: ";
cin >> scores[i][j];
}
}
bool foundFirstPerfectScore = false;
int studentWithPerfectScore = -1;
int perfectCourseIndex = -1;
for(int i = 0; i < n && !foundFirstPerfectScore; ++i) {
for(int j = 0; j < m; ++j) {
if(scores[i][j] == 100) {
foundFirstPerfectScore = true;
studentWithPerfectScore = i + 1;
perfectCourseIndex = j + 1;
break;
}
}
}
if(foundFirstPerfectScore) {
cout << "第一个有一门成绩是满分的学生是第" << studentWithPerfectScore << "号,他在第" << perfectCourseIndex << "门课程上得到了满分。";
} else {
cout << "所有学生没有达到满分。";
}
return 0;
}
```