c++任意输入一串字符串,输出其中的不同字符及其个数。例如:输入abcdefgabc,输出为a->2,b->2,c->2,d->1,e->1,f->1,g->1。
时间: 2024-05-03 10:16:33 浏览: 105
可以使用哈希表来记录每个字符出现的次数,然后遍历哈希表输出结果。
以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 1000
int main() {
char str[MAX_LEN];
int count[128] = {0}; // 哈希表
printf("请输入一个字符串:");
fgets(str, MAX_LEN, stdin);
str[strcspn(str, "\n")] = '\0'; // 去掉字符串末尾的换行符
// 统计每个字符出现的次数
for (int i = 0; i < strlen(str); i++) {
count[(int)str[i]]++;
}
// 输出结果
for (int i = 0; i < 128; i++) {
if (count[i] > 0) {
printf("%c->%d,", i, count[i]);
}
}
printf("\n");
return 0;
}
```
输入示例:
```
请输入一个字符串:abcdefgabc
```
输出示例:
```
a->2,b->2,c->2,d->1,e->1,f->1,g->1,
```
阅读全文
相关推荐













