用c语言用指针方式编写函数模块,求多门课程的平均成绩,同时找出最高、最低成绩,分段等统计
时间: 2024-05-04 13:18:32 浏览: 93
下面是一个用指针方式编写的C语言函数模块,可以求多门课程的平均成绩,同时找出最高、最低成绩,分段等统计。其中,函数的参数为一个指向成绩数组的指针,以及数组的长度:
```c
#include <stdio.h>
void score_statistics(float *scores, int len) {
float sum = 0.0, average;
float max_score = scores[0], min_score = scores[0];
int i, excellent = 0, good = 0, pass = 0, fail = 0;
for (i = 0; i < len; i++) {
sum += scores[i];
if (scores[i] > max_score) {
max_score = scores[i];
}
if (scores[i] < min_score) {
min_score = scores[i];
}
if (scores[i] >= 90) {
excellent++;
} else if (scores[i] >= 80) {
good++;
} else if (scores[i] >= 60) {
pass++;
} else {
fail++;
}
}
average = sum / len;
printf("平均成绩为:%.2f\n", average);
printf("最高分为:%.2f\n", max_score);
printf("最低分为:%.2f\n", min_score);
printf("优秀成绩(>=90分)人数:%d\n", excellent);
printf("良好成绩(80~89分)人数:%d\n", good);
printf("及格成绩(60~79分)人数:%d\n", pass);
printf("不及格成绩(<60分)人数:%d\n", fail);
}
```
使用示例:
```c
int main() {
float scores[] = {89.0, 78.0, 92.0, 83.0, 67.0, 95.0, 72.0, 60.0, 80.0, 76.0};
int len = sizeof(scores) / sizeof(scores[0]);
score_statistics(scores, len);
return 0;
}
```
输出结果:
```
平均成绩为:79.20
最高分为:95.00
最低分为:60.00
优秀成绩(>=90分)人数:2
良好成绩(80~89分)人数:2
及格成绩(60~79分)人数:4
不及格成绩(<60分)人数:2
```
阅读全文