请用c语言编写 某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩在主函数中给出。请编写函数fun,它的功能是:求出该学生的平均分放在记录的ave成员中。
时间: 2024-03-10 13:48:44 浏览: 60
好的,这是一个简单的C语言程序,实现了您的要求:
```c
#include <stdio.h>
#define N 8
typedef struct {
int num; // 学号
float score[N]; // 成绩
float ave; // 平均分
} StudentRecord;
void fun(StudentRecord *p) {
float sum = 0;
for (int i = 0; i < N; i++) {
sum += p->score[i];
}
p->ave = sum / N;
}
int main() {
StudentRecord stu;
stu.num = 1001;
stu.score[0] = 80;
stu.score[1] = 85;
stu.score[2] = 90;
stu.score[3] = 76;
stu.score[4] = 89;
stu.score[5] = 92;
stu.score[6] = 88;
stu.score[7] = 84;
fun(&stu);
printf("学号:%d\n", stu.num);
printf("成绩:");
for (int i = 0; i < N; i++) {
printf("%.2f ", stu.score[i]);
}
printf("\n平均分:%.2f\n", stu.ave);
return 0;
}
```
程序中定义了一个 `StudentRecord` 结构体,包含了学号、8门课程成绩和平均分。函数 `fun` 的功能是求出学生的平均分,并将其存放在记录的 `ave` 成员中。主函数中给出了一个学生的学号和成绩,然后调用 `fun` 函数求出平均分,并输出学号、成绩和平均分。
阅读全文