用c语言编写程序,计算一组学生的平均成绩和不及格人数。要求使用结构体指针变量做函数参数编程。要求:使用函数原型:void aver(struct student *ps)
时间: 2024-03-07 09:48:33 浏览: 94
计算学生的平均成绩(c语言)
3星 · 编辑精心推荐
好的,让我来为您解答这个问题。
首先我们需要定义一个结构体,来存储每个学生的信息,包括姓名和成绩:
```c
struct student {
char name[20];
float score;
};
```
然后我们需要编写一个函数,来计算平均成绩和不及格人数。这个函数的原型为 void aver(struct student *ps) ,说明它的参数是一个指向结构体的指针。
```c
void aver(struct student *ps) {
int count = 0; // 不及格人数
float sum = 0; // 总成绩
for (int i = 0; i < 5; i++) { // 假设有5个学生
sum += ps[i].score;
if (ps[i].score < 60) {
count++;
}
}
printf("平均成绩为:%.2f\n", sum / 5);
printf("不及格人数为:%d\n", count);
}
```
在主函数中,我们要先定义一个结构体数组,并向其中存储每个学生的信息。然后再调用aver函数,将结构体数组的地址传递给它。
```c
int main() {
struct student stu[5] = {
{"Tom", 80},
{"Jerry", 90},
{"Alice", 70},
{"Bob", 50},
{"Peter", 65}
};
aver(stu);
return 0;
}
```
这样,当我们运行程序时,就会输出平均成绩和不及格人数的信息。
注意:在编写完程序后,应该仔细检查代码,确保没有任何语法错误和逻辑错误。同时,应该养成良好的代码风格,使代码易于阅读和维护。
阅读全文