这道题属实让我头疼,难在结构体数组初始化上。
话不多说看下面代码
//4.编写一个学生(类)结构体,成员属性包含姓名、学号、性别,
//编写input()信息录入函数和output()打印函数,输出5个学生的数据记录
//定义一个结构体,前面加上typedef,后面
//加上一个别名后,初始化结构体数组时就可以直接用别名。
typedef struct Student
{
char name[10];
char id[20];
char sex[5];
}Student;
int main(){
int i,n;
void input(Student *stu,int n);
void output(Student *stu,int n);
Student stu[5];//初始化一个结构体数组
scanf("%d",&n);//输入学生个数
input(stu,n);
output(stu,n);
return 0;
}
void input(Student *stu,int n){
int i;
for(i=0;i<n;i++){
scanf("%s",&stu[i].name);
scanf("%s",&stu[i].id);
scanf("%s",&stu[i].sex);
}
}
void output(Student *stu,int n){
int i;
for(i=0;i<n;i++){
printf("%s ",stu[i].name);
printf("%s ",stu[i].id);
printf("%s ",stu[i].sex);
printf("\n");
}
}
运行结果如图:
![](https://img-blog.csdnimg.cn/img_convert/b4f7591765132ea0523e72716fc3a0e5.png)