XXXS1mple 发表于 2021-4-23 23:54:27

统计字符串中英文字母、空格、数字和其他字符的个数

输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数,数字后面要补上空格。
由于c++输入空格会之间跳过,如果需要获取整段字符串

可用string头文件中的getline函数,能将字符串完全复制


输入 aklsjflj123 sadf918u324 asdf91u32oasdf/.';123
输出23 16 2 4

c++ 求大佬解决

yuxijian2020 发表于 2021-4-24 01:34:13

#include <iostream>
#include <string>
#include <map>

using namespace std;

void Grouping()
{
        string str;
        printf_s("请输入一行字符:\n");
        getline(cin, str);

        map<string, int> charMap;
       
        for (const auto& i : str)
        {
                if ((i >= 'a' && i <= 'z') || (i >= 'A' && i <= 'Z'))
                        charMap["letter"] += 1;
                else if (i >= '0' && i <= '9')
                        charMap["number"] += 1;
                else if (i == ' ')
                        charMap["space"] += 1;
                else
                        charMap["other"] += 1;
        }

        printf_s("%d %d %d %d\n", charMap["letter"], charMap["number"], charMap["space"], charMap["other"]);
}
页: [1]
查看完整版本: 统计字符串中英文字母、空格、数字和其他字符的个数