Description
给出一串字符,要求统计出里面的字母、数字、空格以及其他字符的个数。
字母:A, B, ..., Z、a, b, ..., z组成
数字:0, 1, ..., 9
空格:" "(不包括引号)
剩下的可打印字符全为其他字符。
Input
测试数据有多组。
每组数据为一行(长度不超过100000)。
数据至文件结束(EOF)为止。
Output
每组输入对应一行输出。
包括四个整数a b c d,分别代表字母、数字、空格和其他字符的个数。
Sample
Input
A0 ,
Output
1 1 1 1
Hint
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include<stdio.h>
using namespace std;
//1.定义一个str[100001],一个区分字符串类型的整数数组cnt[5]
//2.通过cin.getline()输入一行带空格的数据,不够结尾自动补\0
//3.遍历字符串,并且分类计数
//4.遍历输出整型数组
char str[100001];
int cnt[5];
int main()
{
while(cin.getline(str,100001))
{
memset(cnt,0,sizeof(cnt));
for (int i=0; str[i]!='\0'; i++)
{
if(str[i]>='A'&&str[i]<='Z')
{
cnt[1]++;
}
else if(str[i]>='a'&&str[i]<='z')
{
cnt[1]++;
}
else if(str[i]>='0'&&str[i]<='9')
{
cnt[2]++;
}
else if(str[i]==' ')
{
cnt[3]++;
}
else
{
cnt[4]++;
}
}
for(int i=1; i<=4; i++)
{
printf("%d%c",cnt[i],i==4?'\n':' ');
}
}
return 0;
}