Problem Description
给出一串字符,要求统计出里面的字母、数字、空格以及其他字符的个数。
字母:A, B, …, Z、a, b, …, z组成
数字:0, 1, …, 9
空格:" "(不包括引号)
剩下的可打印字符全为其他字符。
Input
测试数据有多组。
每组数据为一行(长度不超过100000)。
数据至文件结束(EOF)为止。
Output
每组输入对应一行输出。
包括四个整数a b c d,分别代表字母、数字、空格和其他字符的个数。
Sample Input
A0 ,
Sample Output
1 1 1 1
代码 :
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{char a[100005];
while(gets(a))
{int e=0,b=0,c=0,d=0,len,i;
len=strlen(a);
for(i=0;i<len;i++)
{
if((a[i]>='A'&&a[i]<='Z')||(a[i]>='a'&&a[i]<='z'))
e++;
else if(a[i]>='0'&&a[i]<='9')
b++;
else if(a[i]==' ')
c++;
else d++;
}
printf("%d %d %d %d\n",e,b,c,d);
}
return 0;
}
注意 大写字母和小写字母之间是有别的字符的Acsll是不连续的
2787

被折叠的 条评论
为什么被折叠?



