3. 用数组的方法实现程序,程序的功能是:从键盘上输入不超过 50 个字符,统计其中英文字符、空格字符、数字字符及其他字符的个数,并将统计结果输出。c语言代码
时间: 2024-11-20 20:41:00 浏览: 34
单片机驱动标准PC机键盘的C51程序.rar_51 按键 程序_标准PC机键盘_键盘 数组
在 C 语言中,你可以通过动态分配内存并遍历输入字符串来实现这个功能。以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <ctype.h> // 引入用于检查字符类型的库
int main() {
char input[51]; // 定义一个足够大的数组来存储输入的字符
int eng_count = 0, space_count = 0, digit_count = 0, other_count = 0; // 初始化计数器
printf("请输入不超过 50 个字符: ");
fgets(input, sizeof(input), stdin); // 读取用户输入,fgets 包含回车符
for (int i = 0; i < strlen(input) && input[i] != '\n'; i++) { // 遍历字符串,不包括换行符
if (isalpha(input[i])) { // 检查是否为字母(英文字母)
if (islower(input[i]) || isupper(input[i]))
eng_count++;
} else if (isspace(input[i])) { // 检查是否为空格
space_count++;
} else if (isdigit(input[i])) { // 检查是否为数字
digit_count++;
} else { // 其他字符(如标点符号)
other_count++;
}
}
printf("英文字符: %d\n", eng_count);
printf("空格字符: %d\n", space_count);
printf("数字字符: %d\n", digit_count);
printf("其他字符: %d\n", other_count);
return 0;
}
```
在这个代码里,我们首先获取用户的输入,然后使用 `ctype.h` 库中的函数 `isalpha()`、`isspace()` 和 `isdigit()` 来分别判断每个字符是字母、空格还是数字。如果不是这三种情况,则归为"其他字符"。
阅读全文