九度OJ 1069 查找学生信息 (模拟)

题目1069:查找学生信息

时间限制:1 秒

内存限制:32 兆

特殊判题:否

提交:7836

解决:2116

题目描述:

输入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
#include<stdio.h>
#include<string.h>
typedef struct node
{
    char id[100];
    char name[200];
    char sex[10];
    int age;
}node;
node data[1001];
int main(int argc, char *argv[])
{
    int N;
    int M;
    while(~scanf("%d",&N))
    {
        for(int i=0;i<N;++i)
        {
            scanf("%s%s%s%d",data[i].id,data[i].name,data[i].sex,&data[i].age);
        }
        scanf("%d",&M);
        char queryid[100];
        int j;
        for(int i=0;i<M;++i)
        {
            scanf("%s",queryid);
            for(j=0;j<N;++j)
            {
                if(strcmp(data[j].id,queryid)==0)
                {
                    printf("%s %s %s %d\n",data[j].id,data[j].name,data[j].sex,data[j].age);
                    break;
                }
            }
            if(j==N)
                printf("No Answer!\n");
        }
    }
    return 0;
}
时间: 2024-10-06 18:48:21

九度OJ 1069 查找学生信息 (模拟)的相关文章

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!" 样例

九度OJ 1334 占座位 (模拟 细心)

题目1334:占座位 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:737 解决:174 题目描述: sun所在学校的教室座位每天都是可以预占的. 一个人可以去占多个座位,而且一定是要连续的座位,如果占不到他所要求的这么多座位,那么他就一个座位也不要了.为了降低难度,每次分配座位按座位号从小到大查找,采用最先适配法分配座位. 输入: 输入有多组数据. 每组数据输入座位排数n,0<n<=100(座位的排列数相等,座位是按每行从左到右依次排序的),m( 0<m<=min(1

九度OJ 1083 特殊乘法 (模拟)

题目1083:特殊乘法 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2910 解决:2027 题目描述: 写个算法,对2个小于1000000000的输入,求结果. 特殊乘法举例:123 * 45 = 1*4 +1*5 +2*4 +2*5 +3*4+3*5 输入: 两个小于1000000000的数 输出: 输入可能有多组数据,对于每一组数据,输出Input中的两个数按照题目要求的方法进行运算后得到的结果. 样例输入: 123 45 样例输出: 54 简单模拟 #include<std

九度OJ 1079 手机键盘 (模拟)

题目1079:手机键盘 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1989 解决:1069 题目描述: 按照手机键盘输入字母的方式,计算所花费的时间 如:a,b,c都在"1"键上,输入a只需要按一次,输入c需要连续按三次. 如果连续两个字符不在同一个按键上,则可直接按,如:ad需要按两下,kz需要按6下 如果连续两字符在同一个按键上,则两个按键之间需要等一段时间,如ac,在按了a之后,需要等一会儿才能按c. 现在假设每按一次需要花费一个时间段,等待时间需要花费两个时间段

九度OJ 1174 查找第K小数 (STL)

题目1174:查找第K小数 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5161 解决:2081 题目描述: 查找一个数组的第K小的数,注意同样大小算一样大. 如  2 1 3 4 5 2 第三小数为3. 输入: 输入有多组数据. 每组输入n,然后输入n个整数(1<=n<=1000),再输入k. 输出: 输出第k小的整数. 样例输入: 6 2 1 3 5 2 2 3 样例输出: 3 根据题意,因为相同大小,算一样大,所以,排序后得去重. #include<iostream&

九度OJ 1065 输出梯形 (模拟)

题目1065:输出梯形 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:3745 解决:2043 题目描述: 输入一个高度h,输出一个高为h,上底边为h的梯形. 输入: 一个整数h(1<=h<=1000). 输出: h所对应的梯形. 样例输入: 4 样例输出: **** ****** ******** ********** #include<stdio.h> void solve(int h){ int N=h+2*(h-1); int i=N-h; int j=0; i

九度OJ 1363 欢乐斗地主 (模拟,细心)

题目1363:欢乐斗地主 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:770 解决:175 题目描述: 如果大家玩过欢乐斗地主这个游戏,就一定知道有一个具有"提示"功能的按钮.如果你不知道你现在手里的牌有没有比上家大的牌,并且你也懒得去一张一张地看你手中的牌.这时候你就可以点"提示"按钮,系统会告诉你是否有这样的牌. 如果你是一个喜欢挑战的人,你就一定会想,能不能写一个程序,让它实现欢乐斗地主中的"提示"按钮的功能. 现在,我们把&

九度OJ 1062 分段函数 (模拟)

题目1062:分段函数 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2877 解决:1671 题目描述: 编写程序,计算下列分段函数y=f(x)的值. y=-x+2.5; 0<=x<2 y=2-1.5(x-3)(x-3); 2<=x<4 y=x/2-1.5; 4<=x<6 输入: 一个浮点数N 输出: 测试数据可能有多组,对于每一组数据, 输出N对应的分段函数值:f(N).结果保留三位小数 样例输入: 1 样例输出: 1.500 #include<s

九度OJ 1063 整数和 (模拟)

题目1063:整数和 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:2973 解决:1921 题目描述: 编写程序,读入一个整数N. 若N为非负数,则计算N到2N之间的整数和: 若N为一个负数,则求2N到N之间的整数和 输入: 一个整数N,N的绝对值小于等于1000 输出: 测试数据可能有多组,对于每一组数据, 输出题目要求的值 样例输入: 1 -1 样例输出: 3 -3 #include<stdio.h> #include<stdlib.h> #include<