5.30每日一题题解

L1-059 敲笨钟

涉及知识点:

  • 思维/字符串

solution:

  • \(我们需要判断这个第一句古诗结尾是不是ong,第二个古诗是不是ong,如果是那么我们就把第二句古诗的后三个英文单词换成 qiao ben zhong\)
  • \(如果不是的话就输出Skipped\)
  • \(难的过程就是替换,大家可以看一下我的代码,原则为替换,其实我们只需要输出这三个单词就Ok了,而不需要真正的替换\)

std:

#include <iostream>
#include <string>
using namespace std;

int main()
{
    int n;
    cin >> n;
    getchar();
    while(n --)
    {
        string s;
        getline(cin,s);
        int len = s.size();
        string s1,s2;
        string s3 = "ong";
        int index = 0;
        
        for(int i = 0;i < len;i ++)
        {
            if(s[i] == ','){
                s1 += s[i - 3] ;s1 += s[i - 2];s1  += s[i - 1];
                index = i;
                break;
            }
        }
        s2 += s[len - 4];s2 += s[len - 3];s2 += s[len - 2];
        
        if(s1 == s3 && s2 == s3){
            
            int cnt = 0;
            int a[10];
            for(int i = len - 1;i;i--){
                if(s[i] == ' '){
                    a[cnt++] = i;
                }
                if(cnt >= 3)break;
            }
            
            for(int i = 0;i < a[2];i ++)
            {
                cout << s[i];
            }
            
            cout << " qiao ben zhong." << endl;
            
        }
        else{
            cout << "Skipped" << endl;
        }
        
    }
    
    return 0;
}
posted @ 2020-05-30 15:14  QFNU-ACM  阅读(83)  评论(0编辑  收藏  举报