3、定义一个结构体数组,存放N(5个数据来测试)个学生的信息(包括学号、姓名、语文、英语、数学、及总分),编写程序实现:从键盘输入每个学生的学号、姓名及3门课程的成绩,计算总分,在屏幕上输出每位学生的学号、姓名和总分。要求使用自定义函数,并且用结构体指针作为函数的形参来实现。
时间: 2023-12-16 17:23:42 浏览: 97
好的,我会帮你解答这个问题。首先,我们可以定义一个结构体来存储每个学生的信息,包括学号、姓名、语文、英语、数学和总分。
```
struct student {
int id;
char name[20];
float chinese;
float english;
float math;
float total;
};
```
接下来,我们可以定义一个函数来从键盘输入每个学生的信息,并计算总分。
```
void input(struct student *s) {
printf("请输入学生的学号:");
scanf("%d", &s->id);
printf("请输入学生的姓名:");
scanf("%s", s->name);
printf("请输入学生的语文成绩:");
scanf("%f", &s->chinese);
printf("请输入学生的英语成绩:");
scanf("%f", &s->english);
printf("请输入学生的数学成绩:");
scanf("%f", &s->math);
s->total = s->chinese + s->english + s->math;
}
```
最后,我们定义一个主函数来调用输入函数,并输出每个学生的学号、姓名和总分。
```
int main() {
int N = 5;
struct student s[N];
for (int i = 0; i < N; i++) {
input(&s[i]);
}
for (int i = 0; i < N; i++) {
printf("学号:%d,姓名:%s,总分:%.2f\n", s[i].id, s[i].name, s[i].total);
}
return 0;
}
```
这样,我们就完成了从键盘输入每个学生的信息,并计算总分的程序,并使用了自定义函数和结构体指针作为函数的形参。
阅读全文