计算字符个数
接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。
第一行输入一个有字母和数字以及空格组成的字符串,第二行输入一个字符。
输出输入字符串中含有该字符的个数。
例如输入字符串Memory,待统计字符M,输出 2
#include<iostream>
#include <string>
using namespace std;
void cal_time(string &str, string &substr)
{
char subchr = substr[0];//要统计字符就一个,所以直接取第0位即可
char subchr1 = ' ';//定义另外一个字符,如果输入的要统计字符为大写,这个变量存小写,反之即然
int count = 0;//定义统计次数
if ((int)subchr > 96) //判断要统计的字符是大写还是小写
{
subchr1 = subchr - 32;//如果是大写则subchr1存小写
}
else
{
subchr1 = subchr + 32;//如果是小写则subchr1存大写
}
for (int i = 0; i < str.length(); ++i)//逐个比较待计算字符串,符合条件就加1
{
if ((str[i] == subchr) || (str[i] == subchr1))
{
count++;
}
}
cout << count;//输出统计个数
return ;
}
int main()
{
string str("");
getline(cin, str);//从控制台输入获取待计算字符串
string substr("");
getline(cin, substr);//从控制台输入获取要统计字符
cal_time(str,substr);//调用统计函数计算出现次数并打印
cout << endl;
system("pause");
return 0;
}
编程时最好做好初始化,不然鬼知道会遇到什么问题,主函数与业务函数分离,方便调用和修改