每個PAT考生在參加考試時都會被分配兩個座位號,一個是試機座位,一個是考試座位。正常情況下,考生在入場時先得到試機座位號碼,入座進入試機狀態后,系統會顯示該考生的考試座位號碼,考試時考生需要換到考試座位就座。但有些考生遲到了,試機已經結束,他們只能拿著領到的試機座位號碼求助于你,從后臺查出他們的考試座位號碼。
輸入格式:
輸入第一行給出一個正整數N(<=1000),隨后N行,每行給出一個考生的信息:“準考證號 試機座位號 考試座位號”。其中準考證號由14位數字組成,座位從1到N編號。輸入保證每個人的準考證號都不同,并且任何時候都不會把兩個人分配到同一個座位上。
考生信息之后,給出一個正整數M(<=N),隨后一行中給出M個待查詢的試機座位號碼,以空格分隔。
輸出格式:
對應每個需要查詢的試機座位號碼,在一行中輸出對應考生的準考證號和考試座位號碼,中間用1個空格分隔。
輸入樣例:410120150912233 2 410120150912119 4 110120150912126 1 310120150912002 3 223 4輸出樣例:10120150912002 210120150912119 1
解題思路:此題難度不高,解法主要思路為將數據存儲起來,再按照試機座位號輸入順序輸出準考證號和筆試座位號即可。詳情見代碼。
提交代碼
#include <stdio.h>#include <string.h>struct stu{ char num[15]; int seat;}student[10001];int main(){ int n,m,i; char x[15]; scanf("%d",&n); while(n--) { scanf("%s%d",x,&i); scanf("%d",&student[i].seat); //直接將試機座位號當作數組序列號 strcpy(student[i].num,x); } scanf("%d",&m); while(m--) { scanf("%d",&i); PRintf("%s %d/n",student[i].num,student[i].seat); } return 0;}
新聞熱點
疑難解答