#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(void)
{
ll n;
cin>>n;
getchar();//read return key to prevent that getline read it;
string v[n];
for(ll i=0;i<n;i++){
ll flag=0;
getline(cin,v[i]);
ll pos1=v[i].find(',');
ll pos2=v[i].find('.');
//cout<<pos1<<" "<<pos2<<endl;//debug
//cout<<v[pos1-1]<<endl<<v[pos2-1]<<endl;
if(v[i][pos1-1]=='g'&&
v[i][pos1-2]=='n'&&
v[i][pos1-3]=='o'&&
v[i][pos2-1]=='g'&&
v[i][pos2-2]=='n'&&
v[i][pos2-3]=='o') flag=1;
if(flag==0) cout<<"Skipped"<<endl;
else{
ll cnt=0;
ll pos3;
for(ll j=v[i].size()-1;j>=0;j--){
if(v[i][j]==' ') cnt++;
if(cnt==3){
pos3=j;
break;
}
}
ll len1=v[i].size();
ll len2=len1-pos3;
v[i]=v[i].replace(pos3,len2," qiao ben zhong.");
cout<<v[i]<<endl;
}
}
}
题目总结:
- .replace详解
- .find等其他查找详解
3.读入完n后必须加一个getchar()以读入Enter Key
否则Enter会被v【0】的getline读入。
本文主要解析PTA天梯赛中的L1-018 '大笨钟'问题,探讨如何有效使用字符串操作方法如.replace,同时讲解.find和其他查找函数的用法。还特别提醒在读取输入时,要注意处理Enter Key,避免影响后续的getline读取。
3809

被折叠的 条评论
为什么被折叠?



