day02 计算某字符出现次数

95 阅读1分钟

描述

写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)

数据范围: 1≤n≤1000 

输入描述:

第一行输入一个由字母、数字和空格组成的字符串,第二行输入一个字符(保证该字符不为空格)。

输出描述:

输出输入字符串中含有该字符的个数。(不区分大小写字母)

示例1

输入:

ABCabc
A

输出:

2

思路

遍历输入的字符串,一个个和输入的字符进行对比

复杂度

遍历一次数组,复杂福为O(n)

具体实现

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


int main() {
    string a;
    char b;
    int t=0;
    getline(cin,a);
    cin>>b;
    
    if(b>=65){ //判断要搜索的字符是数字还是字母
        //如果是字母
        for(int i=0;i<a.size();i++){
            if(a[i]==b || a[i]+32==b|| a[i]-32==b)//不区分大小写
                t++;
        }
    }else{
        //如果是数字
        for(int i=0;i<a.size();i++){
            if(a[i]==b)
                t++;
        }
    }
    cout<<t<<endl;
}

实现过程中遇到的困难

输入字符串过程中有空格,则不再适合用cin<<a来输入字符串

改换成getline输入.