一、题目:
描述
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字母,然后输出输入字符串中该字母的出现次数。不区分大小写,字符串长度小于500。
输入描述:
第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字母。
输出描述:
输出输入字符串中含有该字符的个数。
二、思路:
遍历就可以了
主要用到两个知识:
1、islower() 判断字符是不是小写 或者 isupper()判断是不是大写,两个函数都是真,则返回非零值。
2、小写字母 - 32 = 大写字母 ; 大写字母 + 32 = 小写字母。
三、代码:
#include<iostream>
using namespace std;
#include<string>
int main()
{
string s;
getline(cin, s);
char s1;
int count = 0;
cin >> s1;
for (int i = 0; i <= s.size() - 1; i++)
{
if (islower(s1))
{
if (s1 == s[i] || s1-32 == s[i]) //小写字母 - 32 = 大写字母
{
count++;
}
}
else
{
if (s1 == s[i] || s1+32 == s[i]) //大写字母 + 32 = 小写字母
{
count++;
}
}
}
cout << count << endl;
system("pause");
return 0;
}