C语言写一段代码,(3) 字符种类计数 1.实现一个功能,找出字符串中,不同的字符(字符包括a~z,A~Z,0~9)的个数 输入: 字符串长度 字符串 输出: 字符种类个数 样例输入: 6 abaaal 样例输出:3
时间: 2023-07-16 14:11:51 浏览: 100
计算一个字符串中各种类型字符的个数
以下是一份 C 语言代码,实现了输入字符串长度和字符串,输出不同字符种类的个数:
```c
#include <stdio.h>
int main() {
int len;
char str[100];
int count[62] = {0}; // 记录每个字符出现的次数,共有62种字符
int i, total = 0;
scanf("%d", &len);
scanf("%s", str);
for (i = 0; i < len; i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
count[str[i] - 'a']++;
} else if (str[i] >= 'A' && str[i] <= 'Z') {
count[str[i] - 'A' + 26]++;
} else if (str[i] >= '0' && str[i] <= '9') {
count[str[i] - '0' + 52]++;
}
}
for (i = 0; i < 62; i++) {
if (count[i] > 0) {
total++;
}
}
printf("%d", total);
return 0;
}
```
解释:
首先定义了一个 `count` 数组,用来记录每个字符出现的次数,共有62种字符。因为字符包括 a~z、A~Z、0~9,所以我们将它们分别映射到 `count` 数组中的前 26、后 26、后 10 个位置。遍历输入的字符串 `str`,将每个字符出现的次数记录在 `count` 数组中。最后遍历整个 `count` 数组,如果有元素值大于 0,则说明这个字符出现过,`total` 加 1。最终输出 `total` 即可。
阅读全文