1578 - 学生查询
输入n个学生的信息,每行包括学号、姓名、性别和年龄,每一个属性使用空格分开。最后再输入一学号,将该学号对应的学生信息输出。
Input
测试数据有多组,第一行为样例数m。对于每个样例,第一行为学生人数n(n不超过20),加下来n行每行4个整数分别表示学号、姓名、性别和年龄,最后一行表示查询的学号。
Output
输出m行,每行表示查询的学生信息,格式参见样例。
Examples
Input
1 4 1 李江 男 21 2 刘唐 男 23 3 张军 男 19 4 王娜 女 19 2
Output
2 刘唐 男 23
Solution C
struct number { int id,age; char name[100],sex[5]; }num[21]; int main(int argc, char* argv[]) {int i,n,m,j; scanf("%d",&n); while(n--) { scanf("%d",&m); for(i=0;i<m;i++) scanf("%d%s%s%d",&num[i].id,&num[i].name,&num[i].sex,&num[i].age); scanf("%d",&j); for(i=0;i<m;i++) if(j==num[i].id){printf("%d %s %s %d\n",num[i].id,num[i].name,num[i].sex,num[i].age);break;} } return 0; }
Solution C++
#include <iostream> #include <cstdio> using namespace std; struct Stu { int id, age; char na[100], sex[100]; }; int main() { //freopen("test.in", "r", stdin); //freopen("test.out", "w", stdout); int n, t; Stu a[20]; char str[80]; int st_no; scanf("%d", &t); while (t--) { scanf("%d", &n); for (int i = 0; i < n; ++i) scanf("%d %s %s %d", &a[i].id, &a[i].na, &a[i].sex, &a[i].age); scanf("%d", &st_no); for (int i = 0; i < n; ++i) if (a[i].id == st_no) printf("%d %s %s %d\n", a[i].id, a[i].na, a[i].sex, a[i].age ); } return 0; }