用C语言定义一个结构体,里面包含姓名、班号、性别、爱好四个成员,要求声明一个结构体的变量,通过键盘输入这个变量的成员信息,并输出出来。
时间: 2024-09-18 12:01:51 浏览: 41
1.定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年的问题。
在C语言中,你可以使用`struct`关键字来定义一个结构体,然后定义相应的成员变量。首先,我们定义一个名为`Student`的结构体,包含了姓名(name)、班号(class_id)、性别(gender)和爱好(hobby)。
```c
#include <stdio.h>
#include <string.h>
// 定义学生结构体
struct Student {
char name[50];
int class_id;
enum { MALE, FEMALE } gender; // 使用枚举表示性别
char hobby[20];
};
int main() {
// 声明结构体变量
struct Student stu;
// 输入学生信息
printf("请输入学生的姓名: ");
fgets(stu.name, sizeof(stu.name), stdin); // 注意去掉字符串末尾的换行符
printf("请输入学生的班号: ");
scanf("%d", &stu.class_id);
printf("请输入学生的性别(M/F): ");
scanf(" %c", &stu.gender); // 需要空格以避免直接读取换行符
printf("请输入学生的爱好: ");
fgets(stu.hobby, sizeof(stu.hobby), stdin);
// 删除字符串末尾的换行符
if (stu.hobby[strlen(stu.hobby)-1] == '\n') {
stu.hobby[strlen(stu.hobby)-1] = '\0';
}
// 输出学生信息
printf("学生信息:\n");
printf("姓名: %s\n", stu.name);
printf("班号: %d\n", stu.class_id);
printf("性别: %s (%c)\n", stu.gender == MALE ? "男" : "女", stu.gender);
printf("爱好: %s\n", stu.hobby);
return 0;
}
```
在这个程序中,用户会被提示输入学生的各项信息,然后结构体变量`stu`会存储这些数据。最后,我们会打印出输入的信息。
阅读全文