使用C++输入一个包含空格的字符串,再输入单独的一个字符,找到这个字符串中当前字符的个数(注意不区分大小写)

许久未更新,一直忙着毕业论文,总算有时间看题。

在牛客上看到的

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

int main()
{
    string line;
    getline(cin,line);
    char c;
    cin>>c;
    int length=line.size();
    int count=0;
    for(int i=0;i<length;i++){
        if(c==line[i]||c+32==line[i]||c-32==line[i])
            count++;    
    }
    cout<<count<<endl;
    return 0;
}

用菜鸟在线工具写的,不知道为什么测试不了,但是应该对。

这里要说一个问题,不要用cin.getline()这个函数,因为遇到空格就的话后面的字符就不会继续读入,因此结果总是不对的,注意一下。

可能有更简单的方法,特别是if那一块,如有大佬知道,烦请告知

上一篇:getline()与get()——C++


下一篇:算法竞赛入门经典(第2版)第5章笔记上