一维数组指针变量作函数参数,求某班30人c语言课程的考试平均值,并统计超过平
时间: 2023-11-12 16:02:33 浏览: 123
要计算某班30人C语言课程的考试平均值,并统计超过平均分的人数,可以利用一维数组指针作为函数的参数。
首先,定义一个函数average_score,它接受一个一维数组指针和数组的长度作为参数,在函数内部计算平均分并返回。函数的实现如下:
```
double average_score(int* scores, int length) {
int sum = 0;
for (int i = 0; i < length; i++) {
sum += scores[i];
}
return double(sum) / length;
}
```
接下来,我们可以定义一个统计超过平均分的人数的函数count_above_average,它也接受一个一维数组指针和数组的长度作为参数。在函数内部,我们使用average_score函数计算平均分,然后遍历一维数组,统计超过平均分的人数并返回。函数的实现如下:
```
int count_above_average(int* scores, int length) {
double avg = average_score(scores, length);
int count = 0;
for (int i = 0; i < length; i++) {
if (scores[i] > avg) {
count++;
}
}
return count;
}
```
最后,我们可以在主函数中声明一个长度为30的一维数组,并为每个学生的成绩赋值。然后,我们调用count_above_average函数,传入该一维数组的指针和长度作为参数,得到超过平均分的人数。
示例代码如下:
```
#include <iostream>
double average_score(int* scores, int length) {
int sum = 0;
for (int i = 0; i < length; i++) {
sum += scores[i];
}
return double(sum) / length;
}
int count_above_average(int* scores, int length) {
double avg = average_score(scores, length);
int count = 0;
for (int i = 0; i < length; i++) {
if (scores[i] > avg) {
count++;
}
}
return count;
}
int main() {
int scores[30];
// 为每个学生的成绩赋值
int above_average_count = count_above_average(scores, 30);
std::cout << "超过平均分的人数:" << above_average_count << std::endl;
return 0;
}
```
以上就是利用一维数组指针变量作为函数参数,计算某班30人C语言课程考试平均值,并统计超过平均分的人数的方法。
阅读全文