用C++语言编写程序:在main函数中建立一个数组存放若干个学生的成绩,并设置变量avgscore(平均分),maxscore(最高分),minscore(最低分)分别用于存放相应的统计数据,将此数组按址传递给sortscore函数,在sortscore函数对这批成绩降序排列,并计算出平均分,最高分,最低分直接修改main函数中这些变量的值但不能直接输出数据,在main函数中输入数据且输出数据。
时间: 2024-02-06 07:10:30 浏览: 76
链表22.txt
以下是代码实现:
```cpp
#include <iostream>
using namespace std;
void sortscore(int* score, int size, int& avgscore, int& maxscore, int& minscore) {
int sum = 0;
maxscore = score[0];
minscore = score[0];
for (int i = 0; i < size; i++) {
sum += score[i];
if (score[i] > maxscore) {
maxscore = score[i];
}
if (score[i] < minscore) {
minscore = score[i];
}
}
avgscore = sum / size;
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - 1 - i; j++) {
if (score[j] < score[j + 1]) {
int temp = score[j];
score[j] = score[j + 1];
score[j + 1] = temp;
}
}
}
}
int main() {
const int size = 5;
int scores[size];
int avgscore, maxscore, minscore;
cout << "请输入" << size << "个学生的成绩:" << endl;
for (int i = 0; i < size; i++) {
cin >> scores[i];
}
sortscore(scores, size, avgscore, maxscore, minscore);
cout << "平均分:" << avgscore << endl;
cout << "最高分:" << maxscore << endl;
cout << "最低分:" << minscore << endl;
cout << "排序后的成绩为:";
for (int i = 0; i < size; i++) {
cout << scores[i] << " ";
}
cout << endl;
return 0;
}
```
在此程序中,我们定义了一个函数`sortscore`用于对成绩进行排序并计算平均分、最高分和最低分。这个函数接收指向成绩数组的指针、数组大小以及三个引用类型的参数,用于存储计算结果。
在`main`函数中,我们先定义了一个大小为5的数组`scores`,并提示用户输入这5个学生的成绩。然后调用`sortscore`函数,将成绩数组`scores`、数组大小以及三个引用类型的变量`avgscore`、`maxscore`、`minscore`传递给它。在`sortscore`函数中,我们对成绩数组进行冒泡排序,计算平均分、最高分和最低分,并将它们直接修改了在`main`函数中定义的三个变量的值。
最后在`main`函数中,我们输出计算结果和排序后的成绩数组。
阅读全文