如何用c语言判断一组字符中有多少个重复的字符串,如a,a,c,c,b有2个

如题所述

//  这里是找重复的字符   //  找重复的字符串比较麻烦了
char str[]={"aaccb"};   //  如果包含a~z之外的字符要另外考虑,还有大小写
int az[26]={0};
//然后遍历字符串,
for(int i=0;i<strlen(str);i++)
    az[str[i]-'a']++; //  然后
int count=0;
for (int j=0;j<26;j++)
   if(az[j]>1)count++;    // az[j]==0无此字符,==1出现1次,>1多于1次

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-02-11
// 这里是找重复的字符 // 找重复的字符串比较麻烦了
char str[]={"aaccb"}; // 如果包含a~z之外的字符要另外考虑,还有大小写
int az[26]={0};
//然后遍历字符串,
for(int i=0;i<strlen(str);i++)
az[str[i]-'a']++; // 然后
int count=0;
for (int j=0;j<26;j++)
if(az[j]>1)count++; // az[j]==0无此字符,==1出现1次,>1多于1次
第2个回答  2014-11-21
int main()
{
char a[26] = { 0 }, s[] = "adminadad";
for (int i = 0; i < strlen(s); i++)
a[s[i]-'a']++;
for (int i = 0; i < 26; i++)
if (a[i] != 0)
printf("字符:%c 个数:%d\n", i + 'a', a[i]);

return 0;
}

本回答被提问者采纳
第3个回答  2014-11-21
最简单的方法,枚举所有的字符串,遍历找有没有一样的本回答被网友采纳