请定义一个描述学生基本信息的结构,包括姓名、学号、身份证号、年龄、性别等,并定义一个结构体数组。编程: 1. 编写函数input(),输入学生基本信息(3~5条记录) 2. 编写函数print(),输出全体记录信息; 3. 编写函数search(),检索一个指定的学生姓名并返回,由主函数打印到屏幕上; 4. 说明:访问结构的时候,运算符前是结构体变量时用“.”,是指向结构体变量的指针时用“->”。
时间: 2023-05-17 19:05:39 浏览: 86
好的,以下是我的回答:
定义学生基本信息的结构体如下:
```
struct Student {
char name[20];
char student_id[20];
char id_card[20];
int age;
char gender[10];
};
```
定义结构体数组如下:
```
struct Student students[5];
```
编写函数input()如下:
```
void input() {
for(int i=0; i<5; i++) {
printf("请输入第%d个学生的姓名:", i+1);
scanf("%s", students[i].name);
printf("请输入第%d个学生的学号:", i+1);
scanf("%s", students[i].student_id);
printf("请输入第%d个学生的身份证号:", i+1);
scanf("%s", students[i].id_card);
printf("请输入第%d个学生的年龄:", i+1);
scanf("%d", &students[i].age);
printf("请输入第%d个学生的性别:", i+1);
scanf("%s", students[i].gender);
}
}
```
编写函数print()如下:
```
void print() {
for(int i=0; i<5; i++) {
printf("姓名:%s\n", students[i].name);
printf("学号:%s\n", students[i].student_id);
printf("身份证号:%s\n", students[i].id_card);
printf("年龄:%d\n", students[i].age);
printf("性别:%s\n", students[i].gender);
}
}
```
编写函数search()如下:
```
void search(char* name) {
for(int i=0; i<5; i++) {
if(strcmp(students[i].name, name) == 0) {
printf("姓名:%s\n", students[i].name);
printf("学号:%s\n", students[i].student_id);
printf("身份证号:%s\n", students[i].id_card);
printf("年龄:%d\n", students[i].age);
printf("性别:%s\n", students[i].gender);
return;
}
}
printf("没有找到该学生!\n");
}
```
在主函数中调用以上三个函数即可完成题目要求。
注意:以上代码仅供参考,可能存在一些小错误,需要根据实际情况进行调整。
阅读全文