本题要求编写程序,输入N个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。 输入格式: 输入在第一行中给出正整数N,第二行输入N个字符,最后一个回车表示输入结束,不算在内。 用C语言写
时间: 2024-10-24 11:15:28 浏览: 63
要编写一个C语言程序来统计输入字符串中的各种字符类型,你可以按照以下步骤进行:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
int n, alpha_count = 0, space_count = 0, digit_count = 0, other_count = 0;
char input[100];
// 输入字符总数
scanf("%d", &n);
getchar(); // 消耗掉换行符
// 读取并统计字符
while (n--) {
scanf(" %c", &input[n]); // 使用 " %c" 防止读入多余的空白字符
if (isalpha(input[n])) { // 判断是否为字母
alpha_count++;
} else if (isspace(input[n])) { // 判断是否为空格或回车
space_count++;
} else if (isdigit(input[n])) { // 判断是否为数字
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);
return 0;
}
```
在这个程序中,我们首先定义了几个计数器分别用于存储各类字符的数量,然后通过循环读取用户输入的每个字符,使用`isalpha()`、`isspace()`和`isdigit()`函数判断其类型,并相应增加对应的计数器。注意这里需要包含`<ctype.h>`头文件来使用这些函数。
运行该程序时,它会接收用户的输入,结束后显示每种字符类型的个数。
阅读全文