用c语言定义一个包含学生学号、姓名、性别及三科成绩的结构体变量,从键盘输出具体数据,输出其姓名及平均成绩
时间: 2024-02-26 11:57:40 浏览: 41
好的,以下是代码实现:
```c
#include <stdio.h>
struct Student {
int id;
char name[20];
char gender;
float score1, score2, score3;
};
int main() {
struct Student stu;
printf("请输入学号:");
scanf("%d", &stu.id);
printf("请输入姓名:");
scanf("%s", stu.name);
printf("请输入性别:");
scanf(" %c", &stu.gender);
printf("请输入三科成绩:\n");
scanf("%f %f %f", &stu.score1, &stu.score2, &stu.score3);
float avg_score = (stu.score1 + stu.score2 + stu.score3) / 3;
printf("学生姓名:%s\n", stu.name);
printf("平均成绩:%.2f\n", avg_score);
return 0;
}
```
在这个程序中,我们定义了一个名为 `Student` 的结构体,包含了学生的学号、姓名、性别及三科成绩。然后我们在 `main` 函数中定义了一个 `stu` 变量,它的类型是 `Student` 结构体。
接着我们通过 `scanf` 函数从键盘输入了学生的具体信息,包括学号、姓名、性别及三科成绩。最后我们计算了学生的平均成绩,并用 `printf` 函数输出了学生的姓名及平均成绩。
需要注意的是,在输入性别的时候,我们使用了一个空格来避免输入缓冲区中的回车符造成干扰。