用c语言编写和调试下列题目的程序:输入一行字符,分别统计出其中的英文字母、空格符、数字、指定字符的个数。
时间: 2024-10-23 21:08:40 浏览: 30
在 C 语言中,我们可以使用标准库函数来处理这个问题,比如 `ctype.h` 中的函数可以帮助我们判断每个字符的类别。下面是一个简单的示例程序,它会读取一行字符并统计字母、空格、数字和指定字符的数量:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char input[100];
int alpha_count = 0, space_count = 0, digit_count = 0, special_char_count = 0;
const char* special_char; // 替换为你想要统计的特定字符
printf("请输入一行字符: ");
fgets(input, sizeof(input), stdin);
for (int i = 0; input[i] != '\n'; i++) { // 遍历字符串,跳过换行符
if (isalpha(input[i])) {
alpha_count++;
} else if (isspace(input[i])) {
space_count++;
} else if (isdigit(input[i])) {
digit_count++;
} else if (input[i] == special_char) {
special_char_count++;
}
}
printf("字母: %d\n", alpha_count);
printf("空格: %d\n", space_count);
printf("数字: %d\n", digit_count);
printf("特殊字符 '%s': %d\n", special_char, special_char_count);
return 0;
}
```
在这个程序中,用户需要在运行时指定一个特殊字符,如 `special_char = '*';`。
**注意:** 当输入结束时,fgets 会读入一个换行符,因此在遍历时需要忽略换行符。
阅读全文