PAT B1033旧键盘打字

xiaoxiao2021-02-28  16

PAT B1033旧键盘打字

很简单的一道题,搞了半天没有AC….o(╥﹏╥)o 有一分的测试点结果出错:原因:用了cin输入 如果没有坏键的话,用cin取不到这种情况,所以需要改用gets…

#include <iostream> #include <string> #include <cstring> using namespace std; const int maxn = 100010; bool ht[256]; char errs[maxn],s[maxn]; int main(){ memset(ht,true,sizeof(ht)); int lenerrs,lens,i; gets(errs); gets(s); /*一分的测试点结果出错:原因:用了cin输入 如果没有坏键的话,用cin取不到这种情况 改用gets cin>>errs; cin>>s; */ lenerrs = strlen(errs); lens = strlen(s); for(i = 0; i < lenerrs; ++i){ if(errs[i] >= 'A' && errs[i] <= 'Z'){ errs[i] = errs[i] - 'A' + 'a'; } ht[errs[i]] = false; } for(i = 0; i < lens; ++i){ if(s[i] >= 'A' && s[i] <= 'Z'){ int low = s[i] - 'A' + 'a'; if(ht['+'] == true && ht[low] == true){ cout<<s[i]; } } else if(ht[s[i]] == true){ cout<<s[i]; } } cout<<endl; return 0; }
转载请注明原文地址: https://www.6miu.com/read-2650301.html

最新回复(0)