输入一行字符,ru字母,数字,空字符打印其出现次数C语言代码
时间: 2024-10-24 07:15:59 浏览: 11
在C语言中,你可以使用`ctype.h`库中的函数来检查字符类型,然后遍历输入的字符串计算各字符类型的出现次数。以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#define ALPHABET 'z' - 'a' + 1
void count_chars(char *str) {
int counts[ALPHABET + 10] = {0}; // 创建数组存储字符计数,包括ASCII码中的数字和空格字符
for (int i = 0; str[i]; i++) {
if (isalpha(str[i])) { // 检查是否为字母
char c = tolower(str[i]); // 转换为小写字母以便统一统计
counts[c - 'a']++; // 对于字母,更新对应位置的计数
} else if (isdigit(str[i])) { // 检查是否为数字
counts[str[i] - '0']++; // 对于数字,直接更新计数
} else if (isspace(str[i])) { // 检查是否为空格
counts[9]++; // 空格对应数组中的第10个位置
}
}
for (int i = 0; i <= ALPHABET + 9; i++) {
if (counts[i]) {
printf("字符 '%c' 出现了 %d 次\n", i == ALPHABET ? 'z' : i + 'a', counts[i]);
}
}
}
int main() {
char input[] = "This is a test string with numbers and spaces 123 456"; // 输入的字符串
count_chars(input);
return 0;
}
```
阅读全文