PTA 1033 旧键盘打字
PTA 1033 舊鍵盤打字
舊鍵盤上壞了幾個(gè)鍵,于是在敲一段文字的時(shí)候,對(duì)應(yīng)的字符就不會(huì)出現(xiàn)。現(xiàn)在給出應(yīng)該輸入的一段文字、以及壞掉的那些鍵,打出的結(jié)果文字會(huì)是怎樣?
輸入格式:
輸入在 2 行中分別給出壞掉的那些鍵、以及應(yīng)該輸入的文字。其中對(duì)應(yīng)英文字母的壞鍵以大寫給出;每段文字是不超過 105 個(gè)字符的串??捎玫淖址ㄗ帜?[a-z, A-Z]、數(shù)字 0-9、以及下劃線 _(代表空格)、,、.、-、+(代表上檔鍵)。題目保證第 2 行輸入的文字串非空。
注意:如果上檔鍵壞掉了,那么大寫的英文字母無法被打出。
輸出格式:
在一行中輸出能夠被打出的結(jié)果文字。如果沒有一個(gè)字符能被打出,則輸出空行。
輸入樣例:
7+IE.
7_This_is_a_test.
輸出樣例:
_hs_s_a_tst
思路:
1,定義三個(gè)字符串變量,分別存儲(chǔ)壞掉的那些鍵、應(yīng)該輸入的文字和最終輸出文字。
2,循環(huán)語句。對(duì)字符串y的各個(gè)字符根據(jù)x中的所有條件進(jìn)行討論(壞鍵的存在(剔除壞鍵),上檔鍵的存在(剔除大寫字母))。將滿足條件的字符存儲(chǔ)在z中。
3,輸出z。
注意:
1,在輸入x,y時(shí)用getline函數(shù),不能直接用cin。
代碼:
#include<iostream> #include<string> using namespace std; int main(){string a,b,c;getline(cin,a);getline(cin,b);for(int i=0;i<b.size();i++){if(a.find(toupper(b[i]))!=a.npos){ //將x中出現(xiàn)的壞鍵從y中剔除c=c;}else if(a.find('+')!=a.npos){ //討論上檔鍵是否壞了if (b[i]>='A'&&b[i]<='Z'){ //討論字母的大寫情況(上檔鍵壞了大寫字母無法輸出)c=c;}else{c+=b[i]; //滿足條件的添加進(jìn)字符串z}}else{c+=b[i]; //滿足條件的添加進(jìn)字符串z}}cout<<c; //輸出能打出的文字return 0; }總結(jié)
以上是生活随笔為你收集整理的PTA 1033 旧键盘打字的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: npm install XXX 报错:e
- 下一篇: 1033