A1050
输入两个字符串,将第一个字符串中包含的第二个字符串的字符去掉(包括空格),然后输出。
gets()不能用了,我混搭了string和length(),不用纠结长度还是很好的。
第二个字符串所在HashTable数组对应位置如果不等于0,则清零。输出非零位置对应ch1的字符。
书上的代码更简洁一些,但是我尽力了orz。
1 #include<cstdio>
2 #include<iostream>
3 #include<string.h>
4 using namespace std;
5 string ch1,ch2;
6 int hashTable[300];
7 int main(){
8 getline(cin,ch1);
9 getline(cin,ch2);
10 int len1=ch1.length();
11 int len2=ch2.length();
12 for(int i=0;i<len1;i++){
13 hashTable[ch1[i]]++;
14 }
15
16 for(int i=0;i<len2;i++){
17 hashTable[ch2[i]]=0;
18 }
19
20 for(int i=0;i<len1;i++){
21 if(hashTable[ch1[i]]!=0){
22 printf("%c",ch1[i]);
23 }
24 }
25 return 0;
26 }