字符串处理问题!------->字符串处理相关操做
代码:
#include <iostream>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<set>
#include<stack>
#include<queue>
#include<map>
using namespace std;
const int N=2e5+10,M=1e7+10;
typedef long long ll;
typedef pair<int,int> pii;
int arr[N];
void Solved() {
int n;
scanf("%d\n",&n);
while(n--){
string str;
getline(cin, str);
int a = str.find(',');
int b = str.find('.');
int flag1=0,flag2=0;
if(str[a-1]=='g'&&str[a-2]=='n'&&str[a-3]=='o') flag1=1;
if(str[b-1]=='g'&&str[b-2]=='n'&&str[b-3]=='o') flag2=1;
if(flag1&&flag2){
//idx记录倒数第三个空格在那个位置,便于输出 "qiao ben zhong."
int idx;
int cnt=0;
for(int i=b;i>=0;i--){
if(str[i]==' ') cnt++;
if(cnt==3){
idx=i;
break;
}
}
//直接输出,可以省略一些字符串操做----(写的越少,错的就越少)
for(int i=0;i<=idx;i++){
cout<<str[i];
}
cout<<"qiao ben zhong."<<endl;
}
else{
cout<<"Skipped"<<endl;
}
}
}
int main()
{
int t;
t=1;
while(t--) {
Solved();
}
return 0;
}