1935 Problem C 查找學生信息

問題 C: 查找學生信息

時間限制: 1 Sec  內存限制: 32 MB

題目描述

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

樣例輸入

5
001 張三 男 19
002 李四 男 20
003 王五 男 18
004 趙六 女 17
005 劉七 女 21
7
003
002
005
004
003
001
006

樣例輸出

003 王五 男 18
002 李四 男 20
005 劉七 女 21
004 趙六 女 17
003 王五 男 18
001 張三 男 19
No Answer!

經驗總結

emmmm,注意結構體裏,儲存名字的字符數組定義大一些,這題的名字長度有些變態,不正常!往大了定義,其他的問題不大~~

AC代碼

#include <cstdio>
#include <cstring>
struct student
{ 
	char name[100];
	char sex[100];
	int age;
}stu[1010];
int main()
{
	int n,no,m;
	char temp[100];
	while(scanf("%d",&n)!=EOF)
	{
		for(int i=0;i<n;i++)
		{
			scanf("%d",&no);
			scanf("%s %s %d",stu[no].name,stu[no].sex,&stu[no].age);
		}
		scanf("%d",&m);
		if(m==0) break;
		for(int i=0;i<m;i++)
		{
			memset(temp,'\0',sizeof(temp));
			scanf("%s",temp);
			sscanf(temp,"%d",&no);
			if(stu[no].age!=NULL)
				printf("%s %s %s %d\n",temp,stu[no].name,stu[no].sex,stu[no].age);
			else printf("No Answer!\n");
		}
	}
	return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章