编写一个程序,如何统计输入字符串中英文字母、数字、空格和其它字符的具体数量?不用数组
时间: 2024-11-30 14:19:34 浏览: 5
C++统计中英文大小写字母、数字、空格及其他字符个数的方法
5星 · 资源好评率100%
你可以使用C语言中的标准库函数来达到这个目的。这里我们不需要数组,而是直接遍历字符串并逐个字符进行计数。以下是一个简单的示例程序,它会接收用户的输入,然后分别计算字母、数字、空格和其他字符的数量:
```c
#include <stdio.h>
#include <ctype.h> // 包含处理字符类型的功能
int main() {
char input[100];
int alpha_count = 0, digit_count = 0, space_count = 0, other_count = 0;
printf("Enter a string: ");
fgets(input, sizeof(input), stdin); // 获取输入,包括换行符
for (int i = 0; input[i] != '\0'; i++) { // 遍历字符串
if (isalpha(input[i])) { // 检查是否为字母(大小写)
alpha_count++;
} else if (isdigit(input[i])) { // 检查是否为数字
digit_count++;
} else if (isspace(input[i])) { // 检查是否为空格
space_count++;
} else { // 其他字符(如标点符号、特殊字符)
other_count++;
}
}
printf("Number of letters: %d\n", alpha_count);
printf("Number of digits: %d\n", digit_count);
printf("Number of spaces: %d\n", space_count);
printf("Number of other characters: %d\n", other_count);
return 0;
}
```
在这个程序中,`isalpha()` 函数检查字符是否为字母,`isdigit()` 检查字符是否为数字,`isspace()` 则检测字符是否为空格。其他所有非字母、数字和空格的字符会被归入“其他”类别。
阅读全文