4、在main函数中建立一个数组存放若干个学生的成绩,并设置变量avgscore(平均分),maxscore(最高分),minscore(最低分)分别用于存放相应的统计数据,将此数组按址传递给sortscore函数,在sortscore函数对这批成绩降序排列,并计算出平均分,最高分,最低分直接修改main函数中这些变量的值但不能直接输出数据,在main函数中输入数据且输出数据。
时间: 2023-12-18 12:02:25 浏览: 85
链表22.txt
下面是代码实现:
```c++
#include <iostream>
using namespace std;
void sortscore(int *score, int n, int &avgscore, int &maxscore, int &minscore) {
int sum = 0;
maxscore = score[0];
minscore = score[0];
for (int i = 0; i < n; i++) {
sum += score[i];
if (score[i] > maxscore) {
maxscore = score[i];
}
if (score[i] < minscore) {
minscore = score[i];
}
}
avgscore = sum / n;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - 1 - i; j++) {
if (score[j] < score[j + 1]) {
int temp = score[j];
score[j] = score[j + 1];
score[j + 1] = temp;
}
}
}
}
int main() {
int n;
cout << "输入学生人数:";
cin >> n;
int score[n];
for (int i = 0; i < n; i++) {
cout << "输入第" << i + 1 << "个学生的成绩:";
cin >> score[i];
}
int avgscore, maxscore, minscore;
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;
}
```
运行结果示例:
```
输入学生人数:5
输入第1个学生的成绩:80
输入第2个学生的成绩:90
输入第3个学生的成绩:70
输入第4个学生的成绩:85
输入第5个学生的成绩:75
平均分:80
最高分:90
最低分:70
成绩降序排列:90 85 80 75 70
```
阅读全文