1033 舊鍵盤打字

2021-08-04 15:59:06 字數 971 閱讀 2374

原題描述:

舊鍵盤上壞了幾個鍵,於是在敲一段文字的時候,對應的字元就不會出現。現在給出應該輸入的一段文字、以及壞掉的那些鍵,打出的結果文字會是怎樣?

輸入格式:

輸入在2行中分別給出壞掉的那些鍵、以及應該輸入的文字。其中對應英文本母的壞鍵以大寫給出;每段文字是不超過105個字元的串。可用的字元包括字母[a-z, a-z]、數字0-9、以及下劃線「_」(代表空格)、「,」、「.」、「-」、「+」(代表上檔鍵)。題目保證第2行輸入的文字串非空。

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

輸出格式:

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

輸入樣例:

7+ie.

7_this_is_a_test.

輸出樣例:
_hs_s_a_tst
比那個舊鍵盤判斷要難一點,,一開始想著來回遍歷,果然這樣還是太暴力,,直接把壞掉的鍵用陣列記錄,而後判斷應該輸入的文字裡是否有該字元,其中,只要判斷是否有"+"鍵,則不輸出大寫字母。

#include #include int main ( )

; while ( ( c = getchar ( ) ) != '\n' )

a [ toupper( c ) ] = 1; // toupper函式對非字母字元會返回引數本身,因此記錄/查詢的時候不必區分字元型別,全都轉換成大寫。

while ( ( c = getchar ( ) ) != '\n' )

if( !a [ toupper( c ) ] && !( isupper ( c ) && a[ '+' ] ) ) //不屬於損壞鍵,或者只要上檔鍵沒壞,都可輸出,如果壞了又是大寫則不輸出

putchar ( c ) ;

return 0;

}

1033 舊鍵盤打字

舊鍵盤上壞了幾個鍵,於是在敲一段文字的時候,對應的字元就不會出現。現在給出應該輸入的一段文字 以及壞掉的那些鍵,打出的結果文字會是怎樣?輸入格式 輸入在2行中分別給出壞掉的那些鍵 以及應該輸入的文字。其中對應英文本母的壞鍵以大寫給出 每段文字是不超過105個字元的串。可用的字元包括字母 a z,a ...

1033 舊鍵盤打字

時間限制 200 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 舊鍵盤上壞了幾個鍵,於是在敲一段文字的時候,對應的字元就不會出現。現在給出應該輸入的一段文字 以及壞掉的那些鍵,打出的結果文字會是怎樣?輸入格式 輸入在2行中分別給出壞掉...

1033 舊鍵盤打字

時間限制 200 ms 記憶體限制 65536 kb 長度限制 8000 b 判題程式 standard 作者 chen,yue 舊鍵盤上壞了幾個鍵,於是在敲一段文字的時候,對應的字元就不會出現。現在給出應該輸入的一段文字 以及壞掉的那些鍵,打出的結果文字會是怎樣?輸入格式 輸入在2行中分別給出壞掉...