原題地址:牛客網
題目描述:
輸入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
分析:
這個要是用SQL寫的話就是最基礎的題呀,可惜了不能用。
原本想用STL函數來寫的,但是忘記了某個函數,於是就用最基本的方法來寫了。。好在這題本身難度也不高,所以沒有T。
代碼:
#include<iostream>
#include<cstring>
#include<set>
#include<map>
using namespace std;
struct st
{
string num;
string name;
string sex;
int age;
}s[10001];
int main()
{
int n;
while(cin>>n)
{
string num;
for(int i=0;i<n;i++)
{
cin>>s[i].num>>s[i].name>>s[i].sex>>s[i].age;
}
int m;
string q;
cin>>m;
for(int i=0;i<m;i++)
{
cin>>q;
int k=0;
for(int i=0;i<n;i++)
{
if(q==s[i].num){
k=1;
cout<<s[i].num<<" "<<s[i].name<<" "<<s[i].sex<<" "<<s[i].age<<endl;
break;
}
}
if(k==0)cout<<"No Answer!"<<endl;
}
}
return 0;
}
2020.4.15