输入一行字符,分别统计其中的英文字母,数字,空格,其他字符的源代码
时间: 2024-11-30 19:20:20 浏览: 8
要编写一个简单的C程序来统计输入的一行字符中的英文字母、数字、空格和其他字符,你可以使用`ctype.h`库中的函数来检查每个字符的类型。以下是一个示例程序:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main() {
char input[100];
int alpha_count = 0, digit_count = 0, space_count = 0, other_count = 0;
// 输入一行字符
printf("Enter a line of characters: ");
fgets(input, sizeof(input), stdin);
// 删除末尾的换行符
if (input[strlen(input) - 1] == '\n') {
input[strlen(input) - 1] = '\0';
}
// 遍历输入字符串并统计字符类型
for (size_t i = 0; i < strlen(input); ++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("Alphabets: %d\n", alpha_count);
printf("Digits: %d\n", digit_count);
printf("Spaces: %d\n", space_count);
printf("Other Characters: %d\n", other_count);
return 0;
}
```
在这个程序中,我们使用了`isalpha()`、`isdigit()`和`isspace()`函数来检查字符是否为字母、数字或空格。如果都不是,则视为其他字符。运行这个程序时,请确保不要输入超过99个字符,因为`input`数组大小限制了输入。
阅读全文