C语言经典例17-统计字符个数
1 题目
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
2 分析
题目中未知字符串的长度,所以不使用预先设置字符数组的方式,使用逐个读取字符然后判断统计的方法,我们知道英文字母分大写字母和小写字母,在ASCII码中,大写字母在小写字母之前,且是正序排列的,那么判断该字符是否是英文字符的方法就为(c >= a && c <= z) || (c >= A && c <= Z),判断数字同理,空格就单独判断,若以上都不是则为其他字符
3 实现
#include <stdio.h> int main() { char c; // 临时字符 int letters = 0; // 字母个数 int spaces = 0; // 空格个数 int digits = 0; // 数字字符 int others = 0; // 其他字符 printf("请输入一串字符,以回车结束:"); while ((c = getchar()) != ) { if ((c >=a && c <= z) || (c >= A && c <= Z)) { letters++; } else if (c >= 0 && c <= 9) { digits++; } else if (c == ) { spaces++; } else { others++; } } printf("字母个数为%d ", letters); printf("数字个数为%d ", digits); printf("空格个数为%d ", spaces); printf("其他个数为%d ", others); return 0; }
4 运行结果
请输入一串字符,以回车结束:2020-2-5 Bless Wuhan 字母个数为10 数字个数为6 空格个数为2 其他个数为2
下一篇:
数据结构的简单理解(1)