输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。 用c语言编上面的程序
时间: 2024-10-24 13:12:13 浏览: 29
在 C 语言中,你可以使用标准库函数以及一些基本的数据结构来实现这个功能。这里是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h>
void count_chars(char str[]) {
int alpha_count = 0; // 英文字母计数
int space_count = 0; // 空格计数
int digit_count = 0; // 数字计数
int other_count = 0; // 其他字符计数
for (int i = 0; str[i] != '\0'; i++) {
if (isalpha(str[i])) { // 检查是否为字母
alpha_count++;
} else if (isspace(str[i])) { // 检查是否为空格
space_count++;
} else if (isdigit(str[i])) { // 检查是否为数字
digit_count++;
} else { // 其它字符
other_count++;
}
}
printf("英文字符: %d\n", alpha_count);
printf("空格: %d\n", space_count);
printf("数字: %d\n", digit_count);
printf("其他字符: %d\n", other_count);
}
int main() {
char input[100]; // 假设输入不超过100个字符
printf("请输入一行字符: ");
fgets(input, sizeof(input), stdin); // 读取用户输入
input[strcspn(input, "\n")] = '\0'; // 删除换行符
count_chars(input);
return 0;
}
```
在这个程序中,`isalpha()` 函数用于检查字符是否为字母,`isspace()` 检查是否为空格,`isdigit()` 则判断字符是否为数字。非这三种类型的字符会被归类为"其他字符"。
阅读全文