PAT_B_1041 考試座位號

題目描述

每一個 PAT 考生在參加考試時都會被分配兩個座位號,一個是試機座位,一個是考試座位。正常狀況下,考生在入場時先獲得試機座位號碼,入座進入試機狀態後,系統會顯示該考生的考試座位號碼,考試時考生須要換到考試座位就座。但有些考生遲到了,試機已經結束,他們只能拿着領到的試機座位號碼求助於你,從後臺查出他們的考試座位號碼。

輸入格式:
輸入第一行給出一個正整數 N(≤1000),隨後 N 行,每行給出一個考生的信息:准考證號 試機座位號 考試座位號。其中准考證號由 16 位數字組成,座位從 1 到 N 編號。輸入保證每一個人的准考證號都不一樣,而且任什麼時候候都不會把兩我的分配到同一個座位上。

考生信息以後,給出一個正整數 M(≤N),隨後一行中給出 M 個待查詢的試機座位號碼,以空格分隔。

輸出格式:
對應每一個須要查詢的試機座位號碼,在一行中輸出對應考生的准考證號和考試座位號碼,中間用 1 個空格分隔。

輸入樣例:
4
3310120150912233 2 4
3310120150912119 4 1
3310120150912126 1 3
3310120150912002 3 2
2
3 4
輸出樣例:
3310120150912002 2
3310120150912119 1

AC代碼

// PAT_1041_Number_ID

# include <stdio.h>
# include <stdlib.h>

typedef struct Node
{
	char ch[18];
	int n1, n2;
}NODE, *pNODE;

int main(void)
{
	int n, m, search;
	int i, j;
	int N_i;
	int flag = 0; 
	scanf("%d",&n);
	pNODE node = (pNODE)malloc(sizeof(NODE)*n);
	
	// 輸入 考生信息 
	for (i=0; i<n; i++)
	{
		scanf("%s",node[i].ch);
		scanf("%d",&node[i].n1);
		scanf("%d",&node[i].n2);
	}
	// 輸入要查詢的內容
	scanf("%d",&m);
	// 查詢
	for (i=0; i<m; i++) 
	{
		scanf("%d",&search);
		flag = 0;
		// 在已經輸入的信息中查詢
		for (j=0; j<n; j++) 
		{
			if (search == node[j].n1)
			{
				// 若是找到了,則flag 設置爲1 
				N_i = j;
				flag = 1;
				break;
			}
		}
		//  輸出信息 
		if (flag == 1)
		{
			for (j=0; j<16; j++)
			{
				printf("%c",node[N_i].ch[j]);
			}
			printf(" %d\n",node[N_i].n2);
		}
	}
	
	return 0;
}

解題思路

0. 准考證號長度爲16位,能夠採用 long long 類型存儲node

1. 先讀取准考證號、機試座號和考試座號數組

2. 把准考證號和考試座號存入下標爲機試座號的數組中 spa

3. 最後直接經過機試座號讀取兩個數組的數據便可blog

AC代碼(改進版)

# include <stdio.h>
# include <stdlib.h>
# include <string.h>
# define Max 1002

int main(void)
{
	long long Num[Max], a;
	int flag, i;
	int S_num[Max], b;
	int len_0, len_1;
	scanf("%d",&len_0);
	
	// 先讀取准考證號、機試座號和考試座號 
	for (i=0; i<len_0; i++)
	{
		scanf("%lld",&a);
		scanf("%d",&flag);
		scanf("%d",&b);
		// 把准考證號和考試座號存入下標爲機試座號的數組中 
		Num[flag] = a;
		S_num[flag] = b;
	}
	scanf("%d",&len_1);
	for (i=0; i<len_1; i++)
	{
		scanf("%d",&flag);
		printf("%lld %d\n",Num[flag],S_num[flag]);
	}
	
	return 0;
} 

RRstring

相關文章
相關標籤/搜索