L1-011 A-B (20分)
本題要求你計算 \(A?B\),不過麻煩的是,\(A\) 和 \(B\) 都是字串 ———— 即從字串 \(A\) 中把字串 \(B\) 所包含的字符全刪掉,剩下的字符組成的就是字串 \(A?B\),
輸入格式:
輸入在 \(2\) 行中先后給出字串 \(A\) 和 \(B\),兩字串的長度都不超過 \(10^{4}\),并且保證每個字串都是由可見的 \(ASCII\) 碼和空白字符組成,最后以換行符結束,
輸出格式:
在一行中列印出 \(A?B\) 的結果字串,
輸入樣例:
I love GPLT! It's a fun game!
aeiou
輸出樣例:
I lv GPLT! It's fn gm!
解題思路:
讀入 \(A\) 和 \(B\) 后,記錄 \(B\) 中出現過的所有字符,然后遍歷 \(A\),輸出沒有被記錄的字符即可,
\(\color{red}{Ps.}\)
1. \(A\) 和 \(B\) 中均可能含有空白字符,可用 \(getline\) 函式成行讀入
代碼:
#include<bits/stdc++.h>
using namespace std;
string a,b;
bool vis[135];
int main()
{
getline(cin,a);
getline(cin,b);
for(int i=0;b[i]!='\0';i++)vis[b[i]]=1;
for(int i=0;a[i]!='\0';i++)
if(!vis[a[i]])cout<<a[i];
return cout<<endl,0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/51078.html
標籤:C++
上一篇:洛谷P1907口算練習題
下一篇:L1-012 計算指數 (5分)
