统计字符串中英文字母、空格、数字和其他字符的个数
输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数,数字后面要补上空格。由于c++输入空格会之间跳过,如果需要获取整段字符串
可用string头文件中的getline函数,能将字符串完全复制
输入 aklsjflj123 sadf918u324 asdf91u32oasdf/.';123
输出23 16 2 4
c++ 求大佬解决 #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]