c语言编一个程序,输入一行字符以字符‘#’作为结束标志,分别统计出英文字母、空格、数字和其他字符的个数。(使用字符数组实现)
时间: 2024-10-24 22:06:39 浏览: 59
C语言程序设计-输入一行字符,分别统计出英文大小写字母、空格、数字和其他字符的个数
5星 · 资源好评率100%
在C语言中,你可以编写一个简单的程序来完成这个任务。下面是一个示例程序,它会读取用户输入的一行字符,直到遇到'#'为止,并统计英文字母、空格、数字以及其他字符的数量。
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char input[100];
int alpha_count = 0, space_count = 0, digit_count = 0, other_count = 0;
int i;
printf("请输入一串字符,直到遇到 '#' 结束:");
fgets(input, sizeof(input), stdin); // 读取用户输入
// 检查字符是否为 '#'
if (input[strlen(input) - 1] = '\0'; // 删除多余的换行符
}
for (i = 0; input[i]; i++) { // 遍历字符数组
if (isalpha(input[i])) { // 如果是字母
alpha_count++;
} else if (isspace(input[i])) { // 如果是空格
space_count++;
} else if (isdigit(input[i])) { // 如果是数字
digit_count++;
} else { // 其他字符(包括标点符号等)
other_count++;
}
}
printf("统计结果:
\n- 英文字符: %d\n- 空格: %d\n- 数字: %d\n- 其他字符: %d\n",
alpha_count, space_count, digit_count, other_count);
return 0;
}
```
当你运行这个程序并输入字符后,它会统计并显示每个类型的字符数量。注意,`fgets`函数用于读取用户输入,包括换行符,所以需要检查最后一个字符是否是`'#'`,如果不是则删除换行符。
阅读全文