给你个我写的参考:
#
include
<stdio.h>
#
include
<malloc.h>
struct
Student
{
char
name[100];
int
age;
int
id;
char
sex;
};
int
input(struct
Student
**
pArr)
{
int
i;
int
len;
printf("请输入学生的个数:\n");
printf("len
=
");
scanf("%d",
&len);
*pArr
=
(struct
Student
*)malloc(len
*
sizeof(struct
Student));
for(i
=
0;
i
<
len;
++i)
{
printf("请输入第%d个学生的信息:\n",
i
+
1);
printf("姓名
=
");
scanf("%s",
(*pArr)[i].name);
printf("年龄
=
");
scanf("%d",
&((*pArr)[i].age));
printf("学号
=
");
scanf("%d",
&((*pArr)[i].id));
printf("性别(1-男
0-女)
=
");
scanf("
%c",
&((*pArr)[i].sex));
}
return
len;
}
void
output(struct
Student
*
pArr,
int
len,
int
sid)
{
int
i;
for(i
=
0;
i
<
len;
++i)
if(pArr[i].id
==
sid)
break;
printf("\n\n学生的信息是:\n");
printf("第%d个学生的信息是:\n",
i
+
1);
printf("姓名
=
%s\n",
pArr[i].name);
printf("年龄
=
%d\n",
pArr[i].age);
printf("学号
=
%d\n",
pArr[i].id);
if(pArr[i].sex
==
'1')
printf("性别
=
男\n");
else
printf("性别
=
女\n");
}
int
main(void)
{
int
len,
id;
struct
Student
*
pArr;
len
=
input(&pArr);
printf("输入要查找的学号:\n");
scanf("%d",
&id);
output(pArr,
len,
id);
return
0;
}
温馨提示:答案为网友推荐,仅供参考