题目描述
输入n个学生的信息,每行包括学号、姓名、性别和年龄,每一个属性使用空格分开。最后再输入一学号,将该学号对应的学生信息输出。
输入
测试数据有多组,第一行为样例数m。对于每个样例,第一行为学生人数n(n不超过20),加下来n行每行4个整数分别表示学号、姓名、性别和年龄,最后一行表示查询的学号。
输出
输出m行,每行表示查询的学生信息,格式参见样例。
样例输入 Copy
1
4
1 李江 男 21
2 刘唐 男 23
3 张军 男 19
4 王娜 女 19
2
样例输出 Copy
2 刘唐 男 23
代码
初出茅庐,请多指教!
#include<stdio.h>
struct student{
int no;
char name[200];
char gender[100];
int age;
}stu[200];
int main(){
int m,n,i,j,queryno;
while(scanf("%d",&m)!=EOF){
if(m<=0){
printf("m error!\n");
break;
}
for(i=0;i<m;i++){
scanf("%d",&n);
if(n<=0||n>20){
printf("n error!\n");
return 0;
}
for(j=0;j<n;j++){
scanf("%d%s%s%d",&stu[j].no,stu[j].name,stu[j].gender,&stu[j].age);
}
scanf("%d",&queryno);
printf("%d %s %s %d\n",stu[queryno-1].no,stu[queryno-1].name,stu[queryno-1].gender,stu[queryno-1].age);
}
}
return 0;
}