华为机试HJ40:统计字符

Posted 翟天保Steven

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了华为机试HJ40:统计字符相关的知识,希望对你有一定的参考价值。

题目描述:

输入一行字符,分别统计出包含英文字母、空格、数字和其它字符的个数。

本题包含多组输入。

输入描述:

输入一行字符串,可以有空格

输出描述:

统计其中英文字符,空格字符,数字字符,其他字符的个数

示例:

输入:

1qazxsw23 edcvfr45tgbn hy67uj m,ki89ol.\\\\/;p0-=\\\\][

输出:

26

3

10

12

解题思路:

这道题就是简单的字符分析统计题,挨个分析一遍就完成了,注意输入的时候用getline,这样才能包含空格。

测试代码:

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string str;
    while(getline(cin,str))
    {
        int letter=0;
        int number=0;
        int space=0;
        int other=0;
        int size=str.size();
        for(int i=0;i<size;++i)
        {
            if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z'))
            {
                letter++;
            }
            else if(str[i]>='0'&&str[i]<='9')
            {
                number++;
            }
            else if(str[i]==' ')
            {
                space++;
            }
            else{
                other++;
            }
        }
        cout<<letter<<endl;
        cout<<space<<endl;
        cout<<number<<endl;
        cout<<other<<endl;
    }
    return 0;
}

以上是关于华为机试HJ40:统计字符的主要内容,如果未能解决你的问题,请参考以下文章

华为机试HJ102:字符统计

华为机试HJ10:字符个数统计

华为机试题 HJ40统计字符

华为机试HJ84:统计大写字母个数

华为机试HJ84:统计大写字母个数

华为机试HJ94:记票统计