用C++编写程序:在main函数中建立一个数组存放若干个学生的成绩,并设置变量avgscore(平均分),maxscore(最高分),minscore(最低分)分别用于存放相应的统计数据,将此数组按址传递给sortscore函数,在sortscore函数对这批成绩降序排列,并计算出平均分,最高分,最低分直接修改main函数中这些变量的值但不能直接输出数据,在main函数中输入数据且输出数据。
时间: 2024-02-06 11:10:32 浏览: 71
成绩管理系统,用c++做的
下面是实现此题的代码示例:
```c++
#include <iostream>
using namespace std;
void sortscore(float* score, int n, float& avgscore, float& maxscore, float& minscore) {
// 冒泡排序
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (score[j] < score[j+1]) {
float temp = score[j];
score[j] = score[j+1];
score[j+1] = temp;
}
}
}
// 计算平均分、最高分、最低分
avgscore = 0;
maxscore = score[0];
minscore = score[n-1];
for (int i = 0; i < n; i++) {
avgscore += score[i];
if (score[i] > maxscore) maxscore = score[i];
if (score[i] < minscore) minscore = score[i];
}
avgscore /= n;
}
int main() {
const int n = 5;
float score[n], avgscore, maxscore, minscore;
// 输入成绩
for (int i = 0; i < n; i++) {
cout << "请输入第" << i+1 << "个学生的成绩: ";
cin >> score[i];
}
// 排序并计算平均分、最高分、最低分
sortscore(score, n, avgscore, maxscore, minscore);
// 输出平均分、最高分、最低分
cout << "平均分: " << avgscore << endl;
cout << "最高分: " << maxscore << endl;
cout << "最低分: " << minscore << endl;
// 输出排序后的成绩
cout << "排序后的成绩: ";
for (int i = 0; i < n; i++) {
cout << score[i] << " ";
}
cout << endl;
return 0;
}
```
运行结果示例:
```
请输入第1个学生的成绩: 80
请输入第2个学生的成绩: 75.5
请输入第3个学生的成绩: 90
请输入第4个学生的成绩: 82
请输入第5个学生的成绩: 70
平均分: 79.5
最高分: 90
最低分: 70
排序后的成绩: 90 82 80 75.5 70
```
阅读全文