统计一段文本中的英文字母、数字、空格和其他字符个数

玛丽莲梦兔
514次浏览
2020年08月17日 11:36
最佳经验
本文由作者推荐

河北省中考-九年级历史教案



统计一段文本中的英文字母、数字、空格和其他字符个数


问题 从键盘读入一段文本,统计其中的英文字母、数字、空格和除此之外的其他字符个
数。

分析 由于输入字符的个数不确定,需构建条件循环while((c=getchar())!= EOF),其中EOF
为符号常量,用于表示文本输入结束,在PC机上通过输入Ctrl+Z组合键来 输入此
字符。所需数据与算法如下。

数据要求
问题的输入:
char c;




*获取从键盘上输入的字符*
*文本中英文字母的个数*
*文本中数字的个数*
*文本中空格的个数*
*文本中其他字符的个数*
问题的输出:
unsigned int nChar;
unsigned int nNum;
unsigned int nBlank;
unsigned int nOther;

设计 初始算法
1. 初始化变量nChar、nNum、nBlank、nOther为零
2. 从键盘输入文本,直到输入特殊的字符结束
3. 对文本中每一个字符,做循环判断并计数。

算法细化
1. unsigned int nChar=0,nNum=0,nBlank=0,nOther=0;
2. 循环统计从键盘输入的英文字母个数,算法如下:
while((c=getchar())!=EOF)
{
if((c>='a')&&(c<='z')||(c>='A')&&(c<='Z'))
nChar++;
……

流程图
版权所有:东北大学计算中心



开始
(c=getchar())!=EOF
n Char++;
Y
c是字符?
nNumber++;
Y
N




c是数字?
N

nBlank++;
Y
c是空格?
N



nOther++;




输出nChar,nNumber,


nBlank,nOther
结束


实现 程序代码如下:
#include
void main()
{
unsigned int nChar=0,nNum=0,nBlank=0,nOther=0;
char c;
while((c=getchar())!=EOF)
{
if((c>='a')&&(c<='z')||(c>='A')&&(c<='Z'))

else
{



nChar++;
if((c>='0')&&(c<='9'))
nNum++;
版权所有:东北大学计算中心










}
}
else
{




if(c==' ')


nBlank++;
nOther++;
else
}
printf(
}

运行结果
输入 #define PI 3.14^Z
输出 Char=8 Num=3 Blank=2 Other=2
版权所有:东北大学计算中心

免费申请-半月评论


燕山大学地址-二年级下册语文期末试卷


京哈高铁-三年级作文熟悉的人


天津商业大学就业网-妈卖批


2016清明节-河北留学中介


高效课堂实施方案-宁夏高考网


银行招聘自荐信-努力的名言


中考英语词组-民主生活会意见