华为机试HJ40:统计字符

简介: 华为机试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;
}


相关文章
|
人工智能
华为机试HJ26:字符串排序
华为机试HJ26:字符串排序
|
算法
华为机试HJ14:字符串排序
华为机试HJ14:字符串排序
|
容器
华为机试HJ102:字符统计
华为机试HJ102:字符统计
161 1
华为机试HJ96:表示数字
华为机试HJ96:表示数字
106 1
华为机试HJ106:字符逆序
华为机试HJ106:字符逆序
113 1
华为机试HJ84:统计大写字母个数
华为机试HJ84:统计大写字母个数
|
容器
华为机试HJ10:字符个数统计
华为机试HJ10:字符个数统计
|
容器
华为机试HJ94:记票统计
华为机试HJ94:记票统计
华为机试HJ2:计算某字母出现次数
华为机试HJ2:计算某字母出现次数
华为机试HJ65:查找两个字符串a,b中的最长公共子串
华为机试HJ65:查找两个字符串a,b中的最长公共子串