编写一个c++程序,任意输入一串字符串,输出其中的不同字符及其个数。例如:输入abcdefgabc,输出为a->2,b->2,c->2,d->1,e->1,f->1,g->1。
时间: 2024-05-08 11:20:55 浏览: 78
以下是一个简单的 C 程序,可以实现该功能:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int count[256] = {0};
int i, len;
printf("输入一个字符串:");
fgets(str, 100, stdin);
len = strlen(str);
for (i = 0; i < len; i++) {
count[(int)str[i]]++;
}
printf("不同字符及其个数:\n");
for (i = 0; i < 256; i++) {
if (count[i] > 0) {
printf("%c->%d\n", i, count[i]);
}
}
return 0;
}
```
该程序使用了一个长度为 256 的整型数组 `count` 来统计每个字符出现的次数。在输入字符串时,使用 `fgets` 函数,其第一个参数为要读取的字符串,第二个参数为字符串的最大长度,第三个参数为输入流,这里使用 `stdin` 表示从标准输入读取。在统计每个字符出现次数时,将字符强制转换成整型,将其作为数组下标进行累加。最后遍历整个数组,输出出现次数大于 0 的字符及其个数。
阅读全文