auj 165 字符统计

http://icpc.ahu.edu.cn/OJ/Problem.aspx?id=165

题目大意

给出一串字符,要求统计出里面的字母、数字、空格以及其他字符的个数。

字母:A, B, …, Z、a, b, …, z组成

数字:0, 1, …, 9

空格:” “(不包括引号)

剩下的可打印字符全为其他字符。

测试数据有多组。
每一行为一组数据(长度不超过100000)。
数据至文件结束(EOF)为止。每组输入对应一行输出。
包括四个整数a b c d,分别代表字母、数字、空格和其他字符的个数。

Sample Input

A0 ,

Sample Output

1 1 1 1

方法与总结

  • 注意输入时用字符串储存数据,空格等也算字符

代码

#include<iostream>
#include<string>
using namespace std;

int main()
{
    string str;
    while(getline(cin,str))
    {
        int a=0,b=0,c=0,d=0;
        for(int i=0;i<str.length();i++)
        {
            if((str[i]>='a' && str[i]<='z') || (str[i]>='A' && str[i]<='Z'))
                a++;
            else if(str[i]>='0' && str[i]<='9')
                b++;
            else if(str[i]==' ')
                c++;
            else d++;
        }
        cout<<a<<" "<<b<<" "<<c<<" "<<d<<endl;
    }
    return 0;
}
/* bottom:40px 距浏览器底部距离 right:40px 距浏览器右边距离 */