统计字母数字等个数

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>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(int argc, char *argv[]) {
	char str[101];//定义字符型数组
		while(gets(str)!=NULL)//多组数据
		{		
		//输入代码
		int i;
		int a[4];
		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("charaters: %d\n",a[0]);
		printf("blanks: %d\n",a[2]);
		printf("digitals: %d\n",a[1]);
		printf("others: %d\n",a[3]);
}	
	return 0;
}
全部评论

相关推荐

双非坐过牢:非佬,可以啊10.28笔试,11.06评估11.11,11.12两面,11.19oc➕offer
点赞 评论 收藏
分享
11-29 11:21
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务