c语言输入一行字符串,以“#”作为输入结束标志,统计其中字母、数字、空格的个数,并输出统计结果
时间: 2024-10-19 15:15:43 浏览: 92
在 C 语言中,可以使用 `fgets()` 函数读取一行字符串,同时遍历字符串并检查每个字符以统计字母、数字和空格的数量。这里有一个简单的示例代码:
```c
#include <stdio.h>
#include <ctype.h> // 包含处理字符类型的库
int main() {
char input[100]; // 定义足够大的数组存储输入的字符串
int alpha_count = 0; // 字母计数
int digit_count = 0; // 数字计数
int space_count = 0; // 空格计数
// 读取输入直至遇到换行符或达到字符串长度限制
fgets(input, sizeof(input), stdin);
// 检查字符串是否为空
if (input[0] == '\0') {
printf("输入已结束。\n");
return 0;
}
// 遍历字符串,统计各字符类型
for (int i = 0; input[i] != '\0'; i++) {
if (isalpha(input[i])) { // 判断是否为字母
alpha_count++;
} else if (isdigit(input[i])) { // 判断是否为数字
digit_count++;
} else if (isspace(input[i])) { // 判断是否为空格
space_count++;
}
}
printf("字母有 %d 个,数字有 %d 个,空格有 %d 个。\n", alpha_count, digit_count, space_count);
return 0;
}
```
这段代码使用了 `ctype.h` 库中的 `isalpha()` 和 `isdigit()` 函数来判断字符是否为字母和数字,`isspace()` 则用于检测空格。
阅读全文