本题要求你计算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!
代码
#include<bits/stdc++.h>
using namespace std;
int main(){
string str1,str2;
getline(cin,str1); //输入两行字符串
getline(cin,str2); //
char c1[str1.length()+1]; //声明等长的单字符数组+1加入边界
char c2[str2.length()+1]; //
strcpy(c1,str1.c_str()); //将字符串转为单字符数组比较
strcpy(c2,str2.c_str());
for(int i=0;i<(int)sizeof(c1);i++){ //遍历两个数组
int j;
for(j=0;j<(int)sizeof(c2);j++){
if(c1[i]==c2[j]){ //如果有相同字符中断循环
break;
}
}
if(j>=(int)sizeof(c2)){ //循环未被中断判断无相同字符
cout<<c1[i]; //直接输出c1[i]
}
}
cout<<endl;
return 0;
}