从键盘输入10个学生的某门课的成绩,计算平均成绩,并按平均成绩排序
时间: 2024-01-10 08:04:31 浏览: 92
下面是一个 C++ 代码示例,可以从键盘输入 10 个学生的成绩,计算平均成绩,并按平均成绩从小到大排序:
```cpp
#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
const int n = 10; // 学生数
// 输入学生成绩
double scores[n];
cout << "请依次输入 10 个学生的成绩:" << endl;
for (int i = 0; i < n; i++) {
cin >> scores[i];
}
// 计算平均成绩
double sum = 0;
for (int i = 0; i < n; i++) {
sum += scores[i];
}
double average = sum / n;
// 按平均成绩排序
sort(scores, scores + n);
// 输出结果
cout << "平均成绩为:" << average << endl;
cout << "排序后的成绩为:" << endl;
for (int i = 0; i < n; i++) {
cout << scores[i] << " ";
}
cout << endl;
return 0;
}
```
在上面的代码中,我们使用了一个常量 `n` 来表示学生数,这样可以方便地修改学生数。
首先,我们定义了一个长度为 `n` 的数组 `scores` 来存储学生成绩,然后使用一个 for 循环从键盘输入每个学生的成绩。
接着,我们使用另一个 for 循环计算学生成绩的总和,然后除以学生数得到平均成绩。
最后,我们使用 `sort` 函数对 `scores` 数组进行排序,然后使用 for 循环输出排序后的成绩。
注意,在使用 `sort` 函数时,我们需要包含头文件 `<algorithm>`。另外,`sort` 函数的第一个参数是数组的起始地址,第二个参数是数组的结束地址(即最后一个元素的下一个位置)。
如果你想按平均成绩从高到低排序,可以将 `sort(scores, scores + n);` 改为 `sort(scores, scores + n, greater<double>());`。
阅读全文