输入一行字符,分别统计出其英文字母,空格,数字和其他字符的个数。
1、首先要拆分由键盘上输入的字符串,逐个遍历。
2、其次我们要有存放字母,空格,数字和其他字符的变量。
3、我们要知道要统计的各个类型的字符的ASCII.
3.1、数字ASCII范围 48~57,也可以是s[i]>=‘0’&&s[i]<=‘9’
3.2、空格ASCII是32
#include<stdio.h>
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;
}
运行结果如下: