7-3 统计英文字母和数字字符[2]
时间: 2024-09-22 08:03:51 浏览: 37
在C/C++编程中,如果你想要统计一个字符串(如"Hello World!123")中包含的英文字母(A-Z和a-z)和数字字符(0-9),你可以采用以下步骤:
1. 定义两个整数变量,分别初始化为0,用于存储字母和数字的数量。
2. 遍历输入字符串的每一个字符。
3. 对每个字符,检查它是否是字母或数字:
- 使用ASCII码进行比较。对于英文字符,大写字母'A'的ASCII码是65,小写字母'a'是97,而数字从48('0')到57('9')。
- 如果字符的ASCII码在这个范围内,增加对应类型的计数器。
4. 遍历结束后,这两个计数器就代表了字母和数字的数量。
下面是一个简单的示例代码片段:
```c++
#include <ctype.h>
int count_letters_and_digits(char str[]) {
int letter_count = 0;
int digit_count = 0;
for (int i = 0; str[i] != '\0'; ++i) {
if (isalpha(str[i])) { // 判断是否为字母
if (islower(str[i])) {
letter_count++;
} else if (isupper(str[i])) {
letter_count++;
}
} else if (isdigit(str[i])) { // 判断是否为数字
digit_count++;
}
}
return letter_count + digit_count;
}
// 调用函数并传入需要统计的字符串
int result = count_letters_and_digits("Hello World!123");
```
在这个例子中,`count_letters_and_digits`函数返回输入字符串中字母和数字的总和。