要求输出低于平均分的学生序号和成绩(实数,double型)。 输入一组学生(最大30)的成绩(实数),以-1结束或输入已满(达到30人)时结束; 输出低于平均分的学生序号(从0开始)和成绩,每个学生信息占一行(用cout,或者printf的%d输出序号,%g输出成绩)。
时间: 2024-05-13 16:19:25 浏览: 55
学生成绩管理系统
以下是C++语言的实现代码:
```c++
#include <iostream>
using namespace std;
int main() {
const int MAX_STUDENTS = 30;
double scores[MAX_STUDENTS];
int n = 0;
double sum = 0;
// 输入学生成绩
cout << "请输入学生成绩,以-1结束:" << endl;
while (n < MAX_STUDENTS) {
double score;
cin >> score;
if (score == -1) break;
scores[n] = score;
sum += score;
n++;
}
// 计算平均分
double average = sum / n;
// 输出低于平均分的学生信息
cout << "低于平均分的学生信息:" << endl;
for (int i = 0; i < n; i++) {
if (scores[i] < average) {
cout << i << " " << scores[i] << endl;
}
}
return 0;
}
```
首先定义了一个常量 `MAX_STUDENTS` 表示最大学生数。然后定义了一个数组 `scores` 存储学生成绩,以及一个变量 `n` 记录实际学生数和累加变量 `sum` 记录成绩总和。接着使用循环读入学生成绩,如果输入 -1 则跳出循环,否则将学生成绩存入数组中,并累加到总分中。
读入学生成绩后,计算平均分,并使用循环遍历数组,输出低于平均分的学生信息。注意,输出时序号从0开始,所以循环变量 `i` 就是序号。输出使用 `cout`,成绩使用 `%g` 格式输出,避免出现多余的0。
阅读全文