2025年3月13日 星期四 甲辰(龙)年 月十二 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > C语言

C语言实现输入字符的统计

时间:01-03来源:作者:点击数:39

问题提出:

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

问题分析:

由于输入字符的个数不确定,需构建条件循环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语言程序代码如下:

  • #include "stdio.h"
  • 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'))
  • nChar++;
  • else
  • {
  • if((c>='0')&&(c<='9'))
  • nNum++;
  • else
  • {
  • if(c==' ')
  • nBlank++;
  • else
  • nOther++;
  • }
  • }
  • }
  • printf("Char=%d\tNum=%d\tBlank=%d\tOther=%d",nChar,nNum,nBlank,nOther);
  • }

运行结果:

输入  #define PI 3.14^Z

输出  Char=8 Num=3 Blank=2 Other=2

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门