0%

PAT A1050 String Subtraction

题目链接

解题思路

思路比较简单,ans用来标记第二行字符串中出现的值,然后遍历第一行,只要在第二行中出现了,就不要打印!

注意

1、PAT不能使用gets读取整行到char*,因此要使用fgets(str,maxn,stdin);

2、题目中给出的范围至少要再加个10,不然可能题目就会坑人!!!比如说这个题目,说好是10000结果报错,最后用10002就可以完全通过!呕!!

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <cstdio>
#include <cstring>
const int maxn=10002;
int ans[128];
char s1[maxn];
char s2[maxn];
int main(){
fgets(s1,maxn,stdin);
fgets(s2,maxn,stdin);

int l1=strlen(s1);
int l2=strlen(s2);
memset(ans,0,sizeof(ans));
for(int i=0;i<l2;i++){
ans[s2[i]]++;
}

for(int i=0;i<l1;i++){
if(ans[s1[i]]==0){
printf("%c",s1[i]);
}
}

return 0;
}

本文标题:PAT A1050 String Subtraction

文章作者:GavinYGM

发布时间:2020年08月27日 - 01:08

最后更新:2020年08月27日 - 01:08

原始链接:http://www.gavinygm.cn/2020/08/27/PAT-A1050-String-Subtraction/

许可协议: 转载请保留原文链接及作者。