[蓝蓝计算机考研算法]-day4计算字符出现次数

164 阅读1分钟

题目描述

写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)

数据范围: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] 获取数据。