题目描述
输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。
输入
一行字符
输出
统计值
样例输入
aklsjflj123 sadf918u324 asdf91u32oasdf/.’;123
样例输出
23 16 2 4
思路:
这道题很简单,但是意外地发现它特别有趣,甚至可以用c的库函数来判断。大家可以自己尝试一下
isdigit(int c)//判断是否为数字
isalpha(int c)//判断是否为a~z A~Z
isalnum(int c)//判断是否是数字或a~z A~Z
代码如下:
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
int letter = 0;
int num = 0;
int blank = 0;
int others = 0;
char c;
while ((c = getchar()) != '\n')
{
if((c >= 'A' && c <='C') || (c >= 'a' && c <= 'z'))
letter ++;
else if(c >= '0' && c <= '9' )
num ++;
else if( c == ' ')
blank ++;
else
others ++;
}
cout << letter << ' ' << num << ' ' << blank << ' ' << others << endl;
}