用C语言结构型完成:设有若干个人员的数据,其中有学生和教师。学生的数据中包括:姓名、号码、性别、职业、班级。教师的数据包括:姓名、号码、性别、职业、职务。要求输入人员的数据,然后再输出。
时间: 2023-07-10 21:06:26 浏览: 88
以下是使用C语言结构体实现的代码:
```c
#include <stdio.h>
struct Student {
char name[20];
int number;
char gender;
char profession[20];
char class[10];
};
struct Teacher {
char name[20];
int number;
char gender;
char profession[20];
char position[20];
};
int main() {
int n, i;
printf("请输入人员数目:");
scanf("%d", &n);
struct Student students[n];
struct Teacher teachers[n];
printf("请依次输入学生和教师的信息:\n");
for (i = 0; i < n; i++) {
printf("第%d个学生:\n", i+1);
printf("姓名:");
scanf("%s", students[i].name);
printf("号码:");
scanf("%d", &students[i].number);
printf("性别:");
scanf(" %c", &students[i].gender);
printf("职业:");
scanf("%s", students[i].profession);
printf("班级:");
scanf("%s", students[i].class);
printf("第%d个教师:\n", i+1);
printf("姓名:");
scanf("%s", teachers[i].name);
printf("号码:");
scanf("%d", &teachers[i].number);
printf("性别:");
scanf(" %c", &teachers[i].gender);
printf("职业:");
scanf("%s", teachers[i].profession);
printf("职务:");
scanf("%s", teachers[i].position);
}
printf("\n学生列表:\n");
for (i = 0; i < n; i++) {
printf("姓名:%s,号码:%d,性别:%c,职业:%s,班级:%s\n", students[i].name, students[i].number, students[i].gender, students[i].profession, students[i].class);
}
printf("\n教师列表:\n");
for (i = 0; i < n; i++) {
printf("姓名:%s,号码:%d,性别:%c,职业:%s,职务:%s\n", teachers[i].name, teachers[i].number, teachers[i].gender, teachers[i].profession, teachers[i].position);
}
return 0;
}
```
代码中定义了两个结构体,`Student` 和 `Teacher`,分别表示学生和教师的数据。接下来在 `main()` 函数中先输入人员数目,然后依次输入每个人员的信息,在输入时根据结构体的定义分别输入不同的数据。最后输出学生和教师的列表。
阅读全文