找出字符数组中相同的字符和个数2

来源:百度知道 编辑:UC知道 时间:2024/06/12 15:02:57
用户输入一串字符,比如acbbcace,输出重复的字符和重复的个数。a:2,c:3,b:2

#include <stdio.h>
#include <string.h>

int main(){
char ss[1024];
char cnt[256]={0};
int l,i;

gets(ss);
l=strlen(ss);
for(i=0;i<l;i++)
cnt[ss[i]]++;
for(i=0;i<256;i++)
if(cnt[i]>0)
printf("%c:%d\n",i,cnt[i]);

return 0;
}

还有一种先排序过后统计

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void main()
{
int i,j,l,sum,a,b;
a=l=0;
char f[255],k;

scanf("%s",f);
b=strlen(f)-1;
for( i=0;i<b;i++)
{
j=i+1;
for(;j<=b;j++)
if(f[i]>f[j]){
k=f[i];
f[i]=f[j];
f[j]=k;
}
}

printf("\n");

while(l<=b){
sum=1;
for(i=l+1;i<=b;i++){
if(f[l]==f[i]){
sum++;
}
else
break;