26. 查找学生信息

题目描述

输入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!”

示例1

输入

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
解法
#include <stdio.h>
#include <stdlib.h>

struct {
    char number[10];
    char name[10];
    char sex[10];
    int age;
} stu[1000];

int main() {
    for (int N, M; ~scanf("%d", &N);) {
        for (int i = 0; i < N; i++)
            scanf("%s %s %s %d", &stu[i].number, &stu[i].name, &stu[i].sex, &stu[i].age);
        scanf("%d", &M);
        for (int x, i = 0; i < M; i++) {
            scanf("%d", &x);
            int tag = 1;
            for (int j = 0; j < N; j++) {
                if (x == atoi(stu[j].number)) {
                    printf("%s %s %s %d\n", stu[j].number, stu[j].name, stu[j].sex, stu[j].age);
                    tag = 0;
                }
            }
            if (tag)
                printf("No Answer!\n");   
        }     
    }
    return 0;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 8,771评论 0 2
  • 题目描述:输入一个数n,然后输入n个数值各不相同,再输入一个值x,输出这个值在这个数组中的下标(从0开始,若不在数...
    我是阿喵酱阅读 4,373评论 0 4
  • 对于秋,我不知道,我还能写些什么?我只知道,这样的季节,这样的秋景,这样的秋色,在我的眼里,也就如此。 临近的秋,...
    始之居士阅读 1,625评论 5 8
  • 我说会回来,我回来了而你成了妖。妖又如何呢?我爱的是你。 九个国家的爱恨情仇。九个唯美动心的耽美。 是妖是男怎样我...
    盗了个仙阅读 1,937评论 0 0
  • 大二暑假回家,一进家门,我妈就喊我过去。 “有东西给你看,快过来。”我妈笑着把我拉过去,把一个信封塞进我手里。我手...
    lostdays阅读 5,604评论 28 28