一、问题分析:
输入一行字母,那么会以换行结束。所以可以存入数组,也可以逐个输入,遇到换行结束。
要统计各个类的个数,就要逐个判断是哪个分类的。
由于在ASCII码中,数字,大写字母,小写字母分别连续,所以可以根据边界值判断类型。
二、算法设计:
1、读入字符,直到遇到换行结束。
2、对于每个字符,判断是字母还是数字,或者空格,或者是其它字符。
3、对于每个字符判断后,对应类别计数器自加。
4、最终输出结果。
三、参考代码:
#include <stdio.h>
int main()
{
int a,b,c,d,ch;
a=b=c=d=0;//计数器初始化为0.
while((ch=getchar())!='\n')//循环读取字符,到换行结束。
{
if(ch>='0' && ch<='9')//数字
a++;
else if((ch>='a' && ch<='z')||(ch>='A' && ch<='Z'))//字母
b++;
else if(ch==' ')//空格
c++;
else //其它
d++;
}
printf("%d %d %d %d\n", a,b,c,d);//输出结果。
return 0;
}
本文介绍了一个简单的字符分类统计程序的设计与实现。该程序能够读取一行输入文本,并将其分为数字、字母、空格和其他四类字符进行统计。通过ASCII码范围判断字符类型,并使用计数器记录每种类型的数量。
6万+

被折叠的 条评论
为什么被折叠?



