天天看點

PAT乙級(1033 舊鍵盤打字)

PAT乙級 1033舊鍵盤打字 題目描述 解題代碼

輸入格式:

輸入在 2 行中分别給出壞掉的那些鍵、以及應該輸入的文字。其中對應英文字母的壞鍵以大寫給出;每段文字是不超過 10​5​​ 個字元的串。可用的字元包括字母 [

a

-

z

A

-

Z

]、數字 

-

9

、以及下劃線 

_

(代表空格)、

,

.

-

+

(代表上檔鍵)。題目保證第 2 行輸入的文字串非空。

注意:如果上檔鍵壞掉了,那麼大寫的英文字母無法被打出。

輸出格式:

在一行中輸出能夠被打出的結果文字。如果沒有一個字元能被打出,則輸出空行。

輸入樣例:

7+IE.
7_This_is_a_test.           

輸出樣例:

_hs_s_a_tst           
#include<stdio.h>
#include<string.h>
int main(){
	char s1[100001],s2[100001];
	gets(s1);   gets(s2);
	int i,j;
	int length1,length2;
	length1=strlen(s1);
	length2=strlen(s2);
	for(i=0;i<length2;i++){
		for(j=0;j<length1;j++)
		//兩層循環逐個周遊判斷
		//有相等的不輸出  是小寫但有大寫的不輸出 是大寫并且有+的不輸出
		if(s2[i]==s1[j]||(s2[i]>='a'&&s2[i]<='z'&&(s2[i]-32)==s1[j])||(s2[i]>='A'&&s2[i]<='Z'&&s1[j]=='+'))
		break;
		if(j>=length1)
		printf("%c",s2[i]);
	}
	return 0;
}           

繼續閱讀