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