1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 统计字符C语言循环结构 C语言循环结构 -C语言统计字符和数字的个数

统计字符C语言循环结构 C语言循环结构 -C语言统计字符和数字的个数

时间:2020-08-27 08:23:26

相关推荐

统计字符C语言循环结构 C语言循环结构
-C语言统计字符和数字的个数

这是一个C语言 while 循环示例:输入一串以?为结束标志的字符,统计其中字母和数字的个数。

问题分析

输入:从键盘输入一个以?结尾的字符串。

输出:两个整数(分别表示字母和数字的个数)。

这是一个计数问题:重复读入字符,根据字符的类型(字母还是数字),进行个数统计。但是,并不知道输入了多少个字符,只知道输入的字符串中最后一个字符是?。因此,可以使用 while 语句,当读入的字符是?时结束循环,否则判断读入的字符是字母还是数字,并累加计数。

那么,如何判断一个字符是字母还是数字呢?

计算机中所有的字符都是以数字的形式存在的,每一个字符都有一个数字与其对应(参见表 ASCII 标准字符代码表)。因此,一个字符变量“ch”的值是字母还是数字,可以用下面的条件表达式进行判断:

字母:((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z'))

数字:(ch >= '0') && (ch <= '9')

算法描述

1) 定义字符型变量 ch 用来存放一个字符;

2) 定义整型变量 Letter 和 Digit,作为计数器,分别存放字母和数字的个数,并初始化为 0;

3) 当 ch 不是“?”时,重复执行:

若 ch 是字母,则字母个数 Letter 加 1;

若 ch 是数字,则数字个数 Digit 加 1;

读入一个新字符给 ch;

4) 输出 Letter 和 Digit;

5) 结束。

代码清单 1:输入一串以?为结束标志的字符,统计其中字母和数字的个数

#include

#include

int main( )

{

char ch;

int Letter = 0,Digit = 0;

printf("输入一串‘?’结尾的字符:");

ch = getchar( ); //循环外读入第一个字符

while(ch != '?')

{

if(((ch >= 'a') && (ch <= 'z')) || ((ch >= 'A') && (ch <= 'Z')))

Letter++; //字母的个数加 1

else if((ch >= '0') && (ch <= '9'))

Digit++; //数字的个数加 1

ch = getchar( ); //继续读入下一个字符

}

printf("其中字母的个数是:%d\n",Letter);

printf("其中数字的个数是:%d\n",Digit);

system("pause");

return 0;

}

运行结果:

输入一串‘?’结尾的字符:321Are you ready?

其中字母的个数是:11

其中数字的个数是:3

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。