华为机试HJ2:计算某字母出现次数
Posted 翟天保Steven
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华为机试HJ2:计算某字母出现次数相关的知识,希望对你有一定的参考价值。
题目描述:
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字母,然后输出输入字符串中该字母的出现次数。不区分大小写,字符串长度小于500。
输入描述:
第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字母。
输出描述:
输出输入字符串中含有该字符的个数。
示例1
输入:
ABCabc
A
输出:
2
解题思路:
输入一个字符串和字母,分析该字母在字符串中出现的次数,最简单的方法就是遍历一遍,在ASCII表里,大小写之间差了32,判断的时候除了判断字符本身,也判断该字符加减32的情况,就可以统计出出现次数,但这仅仅是基于字符串中只有字母数字和空格。
测试代码:
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
// 输入字符串
string s;
getline(cin,s);
// 输入字符
char test;
cin>>test;
int number=0;
int size=s.length();
for(int i=0;i<size;i++)
{
// 考虑大小写情况
if(s[i]==test||s[i]==test-32||s[i]==test+32)
number++;
}
cout<<number<<endl;
return 0;
}
以上是关于华为机试HJ2:计算某字母出现次数的主要内容,如果未能解决你的问题,请参考以下文章
Java 数据结构及算法实战系列 016:HJ2 计算某字符出现次数
Java 数据结构及算法实战系列 016:HJ2 计算某字符出现次数