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;
}