用c语言编写定义一个结构体,里面包含姓名、班号、性别、爱好四个成员,要求声明一个结构体的变量,通过键盘输入这个变量的成员信息,并输出出来。 2、在第一个题的基础上,使用typedef声明一个结构体数组,进行初始化,并将数组中一个元素的所有信息输出出来。
时间: 2024-09-15 07:03:28 浏览: 36
详解C语言的结构体中成员变量偏移问题
5星 · 资源好评率100%
首先,我们需要定义一个结构体,包含姓名、班号、性别、爱好四个成员。然后声明一个这个结构体类型的变量,通过标准输入函数scanf从键盘读取这些信息,最后使用printf函数输出这些信息。
接下来,使用typedef声明一个新的类型名,使得可以更方便地声明结构体数组。通过数组初始化列表的方式对结构体数组进行初始化,然后通过循环遍历数组,输出数组中指定元素的所有信息。
下面给出具体的C语言代码实现:
```c
#include <stdio.h>
// 定义结构体
struct Student {
char name[50];
int classNumber;
char gender;
char hobby[50];
};
// 使用typedef声明结构体数组
typedef struct Student StudentArray[10];
int main() {
struct Student student;
// 通过键盘输入结构体变量的成员信息
printf("请输入学生姓名:");
scanf("%s", student.name);
printf("请输入学生班号:");
scanf("%d", &student.classNumber);
printf("请输入学生性别(男/女):");
scanf(" %c", &student.gender); // 注意%c前有一个空格,用于消耗前一个输入后留下的换行符
printf("请输入学生爱好:");
scanf("%s", student.hobby);
// 输出结构体变量的成员信息
printf("\n学生信息如下:\n");
printf("姓名:%s\n", student.name);
printf("班号:%d\n", student.classNumber);
printf("性别:%c\n", student.gender);
printf("爱好:%s\n", student.hobby);
// 声明结构体数组并进行初始化
StudentArray array = {
{{"张三", 1, 'M', "篮球"}},
{{"李四", 2, 'F', "游泳"}},
// 可以继续添加其他学生的初始化信息
};
// 输出数组中第二个元素的所有信息
printf("\n数组中第二个学生的信息如下:\n");
printf("姓名:%s\n", array[1].name);
printf("班号:%d\n", array[1].classNumber);
printf("性别:%c\n", array[1].gender);
printf("爱好:%s\n", array[1].hobby);
return 0;
}
```
阅读全文