用指针实现对10个学生成绩的统计处理
时间: 2024-05-13 16:14:34 浏览: 51
指针+结构体实现学生成绩管理
下面是用指针实现对10个学生成绩的统计处理的示例代码:
```c
#include <stdio.h>
#define NUM_OF_STUDENTS 10
void calculate_statistics(float *grades, int num_of_students, float *average, float *max, float *min);
int main() {
float grades[NUM_OF_STUDENTS];
float average, max, min;
int i;
// 输入成绩
printf("请输入%d个学生的成绩:\n", NUM_OF_STUDENTS);
for (i = 0; i < NUM_OF_STUDENTS; i++) {
scanf("%f", &grades[i]);
}
// 计算统计信息
calculate_statistics(grades, NUM_OF_STUDENTS, &average, &max, &min);
// 输出统计信息
printf("平均分:%f\n", average);
printf("最高分:%f\n", max);
printf("最低分:%f\n", min);
return 0;
}
void calculate_statistics(float *grades, int num_of_students, float *average, float *max, float *min) {
int i;
// 计算平均分
float sum = 0;
for (i = 0; i < num_of_students; i++) {
sum += grades[i];
}
*average = sum / num_of_students;
// 计算最高分和最低分
*max = grades[0];
*min = grades[0];
for (i = 1; i < num_of_students; i++) {
if (grades[i] > *max) {
*max = grades[i];
}
if (grades[i] < *min) {
*min = grades[i];
}
}
}
```
在这个示例代码中,我们定义了一个 `calculate_statistics` 函数,它接收一个指向成绩数组的指针,以及三个指向 `float` 类型变量的指针。在函数内部,我们使用指针操作来计算平均分、最高分和最低分,并将结果存储在传入的指针变量中。在 `main` 函数中,我们调用 `calculate_statistics` 函数,并将统计信息存储在 `average`、`max` 和 `min` 变量中。最后,我们输出这些变量的值,以显示统计信息。
阅读全文