题目描述
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)
数据范围:1<=n<=1000
输入描述
第一行输入一个由字母、数字和空格组成的字符串,第二行输入一个字符(保证该字符不为空格)。
输出描述
输出输入字符串中含有该字符的个数。(不区分大小写字母)
示例
输入:
ABCabc
A
输出:
2
思路
将字符转换成大写,然后再转换成小写,当字符串中出现大写或小写的字符时,就count++。
具体实现
#include<bits/stdc++.h>
using namespace std;
int main(){
string a;
char s,t,u;
cin>>a; //getline(cin,a);
cin>>s; //s=getchar();
int count=0;
t=toupper(s); //将单个字符转大写
u=tolower(s); //将单个字符转小写
for(int i=0; i<a.size(); i++){
if(a[i]==t || a[i]==u) count++;
}
cout<<count;
return 0;
}
小结
-
toupper()和tolower()函数,括号中的类型是单个字符,不是字符串。
-
getline(cin,s):读取一行的字符串,包括空格。
-
getchar():读取一个字符,以回车键作为结束标志。
-
string a,是字符串类型,可以直接通过数组 a[i] 获取数据。