C语言用指向函数的指针求 有一个班4个学生5门课,求第一门课的平均分
时间: 2024-09-30 18:09:38 浏览: 43
函数指针和指向函数的指针变量-C语言第8章_zz指针
在C语言中,你可以使用结构体来表示学生的课程成绩,并通过指向函数的指针来计算平均分。首先,定义一个结构体`Student`来存储每个学生的姓名和第一门课的成绩,然后定义一个计算平均分的函数`calculateAverage`。接着,创建一个指向这个函数的指针,用于遍历所有学生的成绩并计算平均值。
以下是一个简单的示例:
```c
#include <stdio.h>
// 定义结构体存放学生信息
typedef struct {
char name[20];
int score;
} Student;
// 计算平均分的函数
double calculateAverage(int score) {
return (double)score / 1; // 假设这里只有一门课,所以除以1即得平均分
}
// 指向计算平均分函数的指针
double (*averagePointer)(int);
int main() {
// 假设有4个学生,实际需要读取数据填充
Student students[4] = {{"张三", 85}, {"李四", 90}, {"王五", 78}, {"赵六", 92}};
// 初始化平均分指针,指向calculateAverage函数
averagePointer = &calculateAverage;
// 遍历学生,通过指针计算平均分
double totalAverage = 0;
for (int i = 0; i < 4; i++) {
totalAverage += averagePointer(students[i].score);
}
// 计算并打印平均分
double finalAverage = totalAverage / 4;
printf("第一门课的平均分为: %.2f\n", finalAverage);
return 0;
}
```
阅读全文