日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

牛客网_PAT乙级_1019旧键盘 (20)

發(fā)布時(shí)間:2024/2/28 编程问答 53 豆豆
生活随笔 收集整理的這篇文章主要介紹了 牛客网_PAT乙级_1019旧键盘 (20) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目描述

舊鍵盤上壞了幾個(gè)鍵,于是在敲一段文字的時(shí)候,對應(yīng)的字符就不會(huì)出現(xiàn)。現(xiàn)在給出應(yīng)該輸入的一段文字、以及實(shí)際被輸入的文字,請你列出肯定壞掉的那些鍵。

輸入描述:
輸入在2行中分別給出應(yīng)該輸入的文字、以及實(shí)際被輸入的文字。每段文字是不超過80個(gè)字符的串,由字母A-Z(包括大、小寫)、數(shù)字0-9、以及下劃線“_”(代表空格)組成。題目保證2個(gè)字符串均非空。

輸出描述:
按照發(fā)現(xiàn)順序,在一行中輸出壞掉的鍵。其中英文字母只輸出大寫,每個(gè)壞鍵只輸出一次。題目保證至少有1個(gè)壞鍵。

輸入例子:
7_This_is_a_test
_hs_s_a_es

輸出例子:
7TI

代碼

內(nèi)容:
輸入兩行字符c[ ], b[ ];
該程序把c[ ]中與b[ ]重復(fù)的元素全部刪除
并且把c[ ]本身內(nèi)部重復(fù)的元素也刪除(大小寫被一律轉(zhuǎn)化為大寫)
最后輸出剩余的不重復(fù)的元素

#include<iostream> #include<string> #include<map> #include<vector> #include<algorithm> using namespace std; int main() {vector <char> c;vector <char> d;char keyBoard;//輸入c數(shù)組,用回車結(jié)束while (keyBoard = getchar()){if (keyBoard == '\n')break;c.push_back(keyBoard);}//輸入d數(shù)組,用回車結(jié)束while (keyBoard = getchar()){if (keyBoard == '\n')break;d.push_back(keyBoard);}//c-d:c,d數(shù)組對比,刪除c數(shù)組中與d數(shù)組相同的元素vector<char>::iterator iter = c.begin();int i;for (i = 0; i < d.size(); i++){iter = find(c.begin(), c.end(), d[i]);if (iter != c.end()){c.erase(iter);}}//把c數(shù)組中剩余的小寫字母轉(zhuǎn)換為大寫,其余字符不變for (i = 0; i < c.size(); i++){if (c[i] >= 'a'&&c[i] <= 'z'){c[i] -= 32;}}//刪除c數(shù)組中的重復(fù)元素for (i = 0; i < c.size(); i++){iter = find(++(find(c.begin(), c.end(), c[i])), c.end(), c[i]);//巧妙用++,從第一個(gè)想要查找的元素開始查找,刪除后面的,保留第一個(gè)//iter = find(c.begin()+i+1, c.end(), c[i]);//也可以這樣用if (iter != c.end()){c.erase(iter);i--;}}//輸出c數(shù)組中的所有元素for (i = 0; i < c.size(); i++){cout << c[i];}return 0; }

總結(jié)

以上是生活随笔為你收集整理的牛客网_PAT乙级_1019旧键盘 (20)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。