输入一行字符,分别统计出其中英文字母数字空格和其他字符的个数
时间: 2024-11-23 08:03:15 浏览: 30
要统计输入的一行字符中英文字母、数字、空格以及其他字符的数量,你可以使用C语言中的`ctype.h`库来检查每个字符的类型。以下是一个简单的程序示例:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char input[100];
int alpha = 0, digit = 0, space = 0, others = 0;
printf("Enter a line of characters: ");
fgets(input, sizeof(input), stdin); // Read user input
for (int i = 0; input[i] != '\0'; i++) { // Iterate through each character
if (isalpha(input[i])) { // Check if it's an alphabet
alpha++;
} else if (isdigit(input[i])) { // Check if it's a digit
digit++;
} else if (isspace(input[i])) { // Check if it's a space
space++;
} else { // All other characters (excluding newline)
others++;
}
}
printf("Number of letters: %d\n", alpha);
printf("Number of digits: %d\n", digit);
printf("Number of spaces: %d\n", space);
printf("Number of other characters: %d\n", others);
return 0;
}
```
在这个程序中,我们定义了四个计数器(`alpha`, `digit`, `space`, 和 `others`)来分别记录字母、数字、空格和其他字符的数量。然后遍历用户输入的每一字符,使用`isalpha()`、`isdigit()`和`isspace()`函数来判断其类型并更新相应的计数。
运行这个程序后,它会提示用户输入一行字符,并显示各类字符的数量。请注意,`fgets()`函数用于读取一行,包括结尾的换行符,如果你想忽略换行符,可以使用`input[strlen(input) - 1] = '\0'`去掉最后一个字符。
阅读全文