PTAc++输出低于平均分的学生序号和成绩
时间: 2025-06-24 20:36:36 浏览: 20
### 解决方案
要在PTA平台上用C++实现输出低于平均分的学生序号和成绩的功能,可以按照以下方式设计代码逻辑:
#### 设计思路
1. **数据存储**:通过数组或动态分配内存来保存学生的成绩。
2. **计算总分与平均分**:遍历所有学生成绩,求得总分并进一步计算平均分。
3. **筛选条件**:再次遍历学生记录,找出成绩低于平均分的学生。
4. **输出结果**:按指定格式打印符合条件的学生的序号及其成绩。
以下是完整的代码示例以及解释:
```cpp
#include <iostream>
using namespace std;
int main() {
int n; // 学生数量
cout << "请输入学生人数:" << endl;
cin >> n;
double scores[n]; // 使用数组存储学生成绩
double totalScore = 0; // 总分数初始化为0
// 输入每位学生的成绩
for (int i = 0; i < n; ++i) {
cout << "请输入第" << i + 1 << "位学生的成绩:" << endl;
cin >> scores[i];
totalScore += scores[i]; // 累加总分
}
double averageScore = totalScore / n; // 计算平均分
cout << "班级平均分为:" << averageScore << endl;
// 找出低于平均分的学生
bool hasBelowAverage = false; // 判断是否有低于平均分的学生
cout << "低于平均分的学生如下:" << endl;
for (int i = 0; i < n; ++i) {
if (scores[i] < averageScore) { // 如果某学生的成绩低于平均分
hasBelowAverage = true;
cout << "学生序号: " << i + 1 << ", 成绩: " << scores[i] << endl;
}
}
if (!hasBelowAverage) { // 若无任何学生低于平均分,则提示
cout << "没有学生的成绩低于平均分。" << endl;
}
return 0;
}
```
此代码实现了输入若干名学生的成绩、计算这些成绩的平均值,并最终输出那些成绩低于该平均值的学生的信息[^1]。
#### 关键点说明
- 数组 `double scores[n]` 被用来储存每一位学生的具体得分情况。
- 变量 `totalScore` 和循环结构共同完成了对学生总体得分累加的任务。
- 平均分由公式 \( \text{average} = \frac{\text{sum}}{\text{n}} \) 得到。
- 条件判断语句用于识别哪些学生的个人成绩未达到整体平均水平线之下。
---
###
阅读全文
相关推荐


















