题目描述
写出一个程序,接受一个由字母和数字组成的字符串,和一个字符,然后输出输入字符串中含有该字符的个数。不区分大小写。
输入描述:输入一个有字母和数字以及空格组成的字符串,和一个字符。
输出描述:输出输入字符串中含有该字符的个数。
输入
ABCDEF A
输出
1
解题思路:这题关键没搞懂输入输出是几行,怎么输入的。结果是分两行输入的。
解题代码:
//看了半天觉得我的好简单就贴上来吧 大小写转换用库函数就好了 回车问题每次使用get()读取就好了
/*#include <string>
#include <iostream>
#include <cctype>
using namespace std;
int main()
{
string str;
char ch; //定义一个char型的字符变量ch;
while(getline(cin,str))
{
if(cin.get(ch).get())
{
int count = 0;
for(int i=0; i<str.size(); ++i)
{
if(toupper(str[i]) == toupper(ch))
count++;
}
cout << count << endl;
}
}
return 0;
}*/
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str1;
char str2;
getline(cin,str1);
cin>>str2;
int i, count=0;
for(i=0;i<str1.length();i++)
{
//=============方法二=============
// str1[i] = tolower(str1[i]);
//=============方法一=============
if(str1[i]>='A'&&str1[i]<='Z')
str1[i]+=('a'-'A');
else
continue;
}
for(i=0;i<str1.length();i++)
{
if(str1[i]==str2)
count++;
}
cout << count;
return 0;
}