1測試點2:
輸入的字符串如果為空,要用getline(cin,s),而不是cin>>s,否則程序做不了
2題目說的如果上鍵壞了那大寫字母打印不了,不是大寫轉小寫打印啦,認真讀題
3兩個for循環長這樣,break只是結束當前內部for循環,跟外部for循環無關
for(
? ? ? ? for(
? ? ? ? ? ? ? ? if(
? ? ? ? ? ? ? ? ? ? ? ? ?break;
4完整代碼
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
vector<char> res;
int flag;//標記是否出現上檔鍵
int main()
{string a,s;//cin>>a>>s;getline(cin,a);cin>>s;for(int j=0;j<a.size();j++){if(a[j]=='+'){flag=1;}}for(int i=0;i<s.size();i++){int f=0;for(int j=0;j<a.size();j++){if(s[i]==a[j]){f=1;}if((a[j]>='A'&&a[j]<='Z')&&(s[i]==a[j]+32)){f=1;}}if(f==0){res.push_back(s[i]);}}if(res.size()==0){cout<<endl;return 0;}for(vector<char>::iterator it=res.begin();it!=res.end();it++){char c=*it;if(flag&&(c>='A'&&c<='Z')){continue;}else{cout<<c;}}return 0;
}