输入一行字符,统计其中大写字母、小写字母、数字、空格和其他字符的个数,结果用数组保存。按格式输出结果
时间: 2024-10-20 09:08:23 浏览: 34
要实现这个功能,你可以编写一个C程序,使用`ctype.h`库中的函数来检查每个字符的类型。以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <ctype.h>
#define MAX_RESULTS 5 // 数组大小,包含四种类型的计数
int main() {
char input[100]; // 假设最大输入长度为99
int result[MAX_RESULTS] = {0}; // 初始化计数器为0
int i, type;
printf("请输入一行字符: ");
fgets(input, sizeof(input), stdin); // 读取一行输入并忽略末尾的换行符
for (i = 0; input[i] != '\0'; i++) {
type = isalpha(input[i]) ? (isupper(input[i]) ? 'U' : 'l') :
isdigit(input[i]) ? 'D' : (!isspace(input[i]) ? 'O' : 'S'); // 根据字符类型赋值给type
result[type - 'A']++; // 将计数添加到对应位置(字母区分大小写,其他统一为'O')
}
// 输出结果
printf("大写字母: %d\n", result['U' - 'A']);
printf("小写字母: %d\n", result['l' - 'A']);
printf("数字: %d\n", result['D' - 'A']);
printf("空格: %d\n", result['S' - 'A']);
return 0;
}
```
在这个代码中,我们首先定义了一个数组`result`用于存储四种类型的计数,然后使用`fgets`从标准输入读入一行字符。接着遍历每一个字符,根据其ASCII码范围判断类型并更新相应的计数。最后,按照题目要求的格式输出结果。
阅读全文