PAT乙級 1033舊鍵盤打字 題目描述 解題代碼
輸入格式:
輸入在 2 行中分别給出壞掉的那些鍵、以及應該輸入的文字。其中對應英文字母的壞鍵以大寫給出;每段文字是不超過 105 個字元的串。可用的字元包括字母 [
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;
}