这是一个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 不是“?”时,重复执行:</