【蓝桥杯C++练习】每日一练06-编程题

【编程实现】 数单词。 编程统计输入句子中出现“lanqiao”字样的个数。(注意,“lanqiao”字样可以是不同大小写字母的组合,例如:LanQIAO、LanQiao 等) 输入描述: 输入一个字符串(0≤字符串长度≤100)。输出描述: 输出该字符串中“lanqiao”字样出现的次数。(注意:“lanqiao”字样可以是不同大小写字母的组合) 【样例输入】 Lanqiaoqingshao, lanqiaojingsai, Lanqiaoceping. 【样例输出】 3

//【参考答案】
#include<iostream>
#include<cstring>

using namespace std;

int main(){
    string essay;
    getline(cin,essay);
    int times=0;

    //统一转为小写
    for(int i=0;i<essay.length();i++)
        if(essay[i]>=A && essay[i]<=Z)
            essay[i]+=32;

    //开始查找
    while(essay.find("lanqiao")!=-1){//使用find会返回essay中第一个word的下标
        int temp=essay.find("lanqiao");
        //先记录下来,再检查essay中这个单词后面是不是小写字母【如果是,说明这个单词未结束,匹配失败、
        times++;
        essay[temp]-=32;//找到的位置用过后就要把原来的字母换掉,避免下次使用find还找到同一位置
    }

    cout<<times;

    return 0;
}
经验分享 程序员 微信小程序 职场和发展