大一新生求解 字符统计
题目描述给出一串字符,要求统计出里面的字母、数字、空格以及其他字符的个数。
字母:A, B, ..., Z、a, b, ..., z组成
数字:0, 1, ..., 9
空格:" "(不包括引号)
剩下的可打印字符全为其他字符。
输入
测试数据有多组。
每组数据为一行(长度不超过100000)。
数据至文件结束(EOF)为止。
输出
每组输入对应一行输出。
包括四个整数a b c d,分别代表字母、数字、空格和其他字符的个数。
示例输入
A0 ,示例输出
1 1 1 1
我解的 我估计是多组字符串 我输的不对 但不知道该怎么表示多组字符串的输入与结束。。。。
#include<stdio.h>
#include<string.h>
int main()
{
int i, j, k, a=0, b=0, c=0, d=0;
char str[100];
for(j=1;j!=EOF;j++)
{
gets(str);
k=strlen(str);
for(i=0;i<=k-1;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++;
}
printf("%d %d %d %d\n",a,b,c,d);
a=0; b=0; c=0; d=0;
}
return 0;
}
运行倒是可以 但提交到我们学校的题上就错了 Output limit