用函数编程统计平均成绩。要求在主函数中输入学生成绩,输入负数时,结束输入,调用子函数Average()计算平均成绩,并输出结果。 函数原型:int Average(int score[],int n) ****要求输入提示信息为:"Input score:" ****输出格式要求为: "Total students are %d\n" "Average score is %d\n"
时间: 2023-12-20 09:07:27 浏览: 131
好的,以下是代码实现:
```c++
#include <iostream>
using namespace std;
int Average(int score[], int n);
int main() {
const int MAX_STUDENTS = 100; // 假设最多可以输入100个学生的成绩
int scores[MAX_STUDENTS];
int n = 0; // 记录输入了多少个学生的成绩
while (true) {
cout << "Input score: ";
int score;
cin >> score;
if (score < 0) {
break; // 输入负数,结束输入
}
scores[n] = score;
n++;
}
if (n == 0) {
cout << "No students." << endl;
return 0;
}
int average = Average(scores, n);
cout << "Total students are " << n << endl;
cout << "Average score is " << average << endl;
return 0;
}
int Average(int score[], int n) {
int sum = 0;
for (int i = 0; i < n; i++) {
sum += score[i];
}
return sum / n;
}
```
解释一下:在主函数中,我们先定义一个数组 `scores` 来存储学生成绩,然后进入一个无限循环,每次让用户输入一个成绩,如果输入的是负数,就跳出循环。最后,我们调用 `Average()` 函数来计算平均成绩,并输出结果。
`Average()` 函数的实现比较简单,就是遍历数组,计算总分数,最后除以学生人数就是平均成绩了。
注意,我们还要处理一些特殊情况。如果没有输入任何学生的成绩,我们需要输出一个提示信息,而不是直接计算平均成绩。另外,如果学生人数比较多,我们定义的数组可能会不够用,这个时候我们可以使用动态内存分配来解决这个问题。但是本例中为了简单起见,我们直接使用了一个固定大小的数组。
阅读全文