统计字母数字等个数

Description
输入一串字符,统计这串字符里的字母个数,数字个数,空格字数以及其他字符(最多不超过100个字符)
Input
多组测试数据,每行一组
Output
每组输出一行,分别是字母个数,数字个数,空格字数以及其他字符个数
Sample Input
I am a student in class 1.
I think I can!
Sample Output
18 1 6 1
10 0 3 1
HINT
char str[100];//定义字符型数组

while(gets(str)!=NULL)//多组数据
{

//输入代码

for(i=0;str[i]!=’\0’;i++)//gets函数自动在str后面添加’\0’作为结束标志
{
//输入代码
}

//字符常量的表示,
'a’表示字符a;
'0’表示字符0;

//字符的赋值
str[i]=‘a’;//表示将字符a赋值给str[i]
str[i]=‘0’;//表示将字符0赋值给str[i]
}

#include <stdio.h>
int main() {
char str[101];//定义字符型数组//可以定义大一点
while(gets(str)!=NULL)//多组数据
{
//输入代码
int i;
int a[4];//可以用bcde代替
a[0]=0;//字母
a[1]=0;//数字
a[2]=0;//空格
a[3]=0;//其他
for(i=0;str[i]!=’\0’;i++)//gets函数自动在str后面添加’\0’作为结束标志
{
if(str[i]>=‘a’&&str[i]<=‘z’||str[i]>=‘A’&&str[i]<=‘Z’){

			a[0]+=1;
		}
		else if(str[i]>='0'&&str[i]<='9'){					
			a[1]+=1;
		}
		else if(str[i]==' '){					
			a[2]+=1;					
		}
		else{
			a[3]+=1;
		}
	}					
	printf("%d %d %d %d\n",a[0],a[1],a[2],a[3]);

}
return 0;
}

猜你喜欢

转载自blog.csdn.net/z2431435/article/details/84194726