输入一行字符,分别统计出其英文字母,空格,数字和其他字符的个数。

输入一行字符,分别统计出其英文字母,空格,数字和其他字符的个数。

1、首先要拆分由键盘上输入的字符串,逐个遍历。
2、其次我们要有存放字母,空格,数字和其他字符的变量。
3、我们要知道要统计的各个类型的字符的ASCII.
3.1、数字ASCII范围 48~57,也可以是s[i]>=‘0’&&s[i]<=‘9’
3.2、空格ASCII是32

#include
int main()
{
	char s[100];
	int i=0;
	int zimu=0,kongge=0,shuzi=0,qita=0; 
	                       //首先定义字母,空格,数字,其他这些变量,用于记数。
	printf("输入一行字符:");
	   scanf("%s",&s);      //由scanf输入的字符串,在输出的时候,遇到空格就!不会!在输出了。 
	gets(s);     //由ges(s)输入的字符串,在输出的时候,还会输出中间的空格。 

//遍历字符数组
**

while(s[i])        //当字符串s没到末尾时,一直循环。
	{
		if((s[i]>='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')) 
		   zimu++;
		else if(s[i]==32)                   //空格的ASCII为32。
		   kongge++;
		else if(s[i]>='0'&&s[i]<='9')                
		   shuzi++;
		else
		   qita++;
		i++;
	}

**

printf("字母:%d\n",zimu);
printf("空格:%d\n",kongge);
printf("数字:%d\n",shuzi);
printf("其他:%d\n",qita);
return 0;

}

运行结果如下:
输入一行字符,分别统计出其英文字母,空格,数字和其他字符的个数。_第1张图片

你可能感兴趣的:(输入一行字符,分别统计出其英文字母,空格,数字和其他字符的个数。)