九度题目1069:查找学生信息

来源:互联网 发布:天涯全自动营销软件 编辑:程序博客网 时间:2024/05/21 13:43

原题链接:http://ac.jobdu.com/problem.php?pid=1069

题目描述:
 输入N个学生的信息,然后进行查询。
输入:
 输入的第一行为N,即学生的个数(N<=1000)
接下来的N行包括N个学生的信息,信息格式如下:
01 李江 男 21
02 刘唐 男 23
03 张军 男 19
04 王娜 女 19
然后输入一个M(M<=10000),接下来会有M行,代表M次查询,每行输入一个学号,格式如下:
02
03
01
04
输出:
 输出M行,每行包括一个对应于查询的学生的信息。
如果没有对应的学生信息,则输出“No Answer!”
样例输入:
4
01 李江 男 21
02 刘唐 男 23
03 张军 男 19
04 王娜 女 19
5
02
03
01
04
03
样例输出:
02 刘唐 男 23
03 张军 男 19
01 李江 男 21
04 王娜 女 19
03 张军 男 19


此题我感觉题意应该更明确些就好了,有点坑,没有限定字符的长度,我几次都WA了

代码如下

#include <stdio.h>#include <string.h>#define MAXN 1001 struct Student{    char no[50];    char name[100];    char sex[20];    int age;}stu[MAXN]; int main(){    int n,m;    while(scanf("%d",&n)==1){        int i,j;        for(i=0;i<n;i++){            scanf("%s%s%s%d",stu[i].no,stu[i].name,stu[i].sex,&stu[i].age);        }        scanf("%d",&m);        char matchNo[20];        for(i=0;i<m;i++){            scanf("%s",matchNo);            int find=1;            for(j=0;j<n;j++){                if(strcmp(matchNo,stu[j].no)==0){                    find=0;                    printf("%s %s %s %d\n",stu[j].no,stu[j].name,stu[j].sex,stu[j].age);                    break;                }                           }            if(find){                printf("No Answer!\n");            }        }    }    return 0;}


如果文章有什么错误或者有什么建议,欢迎提出,大家共同交流,一起进步

文章转载请注明出处,请尊重知识产权


0 0