描述
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)
数据范围: 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输入.