题目
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个目标字符,然后输出该字符串中该字符的出现次数。(不区分大小写字母)
数据范围:1≤n≤1000
输入描述:
第一行输入一个由字母、数字和空格组成的字符串,第二行输入一个字符(保证该字符不为空格)。
输出描述:
输出该字符串中含有该字符的个数。(不区分大小写字母)
思路:
设置一个变量n,从头开始对字符串遍历,每查到一个所选字符,n+1
具体实现:(手机c++编译器实现)
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str;
char c;
int n=0;
cout << "请输入字符串!" << endl;
getline(cin,str);
int len = str.length();
cout << "请输入查找字符" << endl;
cin >> c;
for(int i=0;i<len;i++)
{
if (str[i]==c)
n++;
}
cout << "出现次数为" << endl;
cout << n << endl;
return 0;
}
时间复杂度:O(n)
小结:
上述代码无法实现对空格字符的统计。输入空格时无效。