C语言统计相同字符串数量

向一个字符串数组中输入指定个名字,统计每个名字出现的次数,希望有人能解答我的问题😭


#include<stdio.h>
#include<string.h>
/*题意为:a,b中相同的字符数,
如a:a,b,c,b,c,a;
  b:a,c,c,a;
  那么相同的字符有两个,即a,c
  所以要将字符串去重,但不必将a,b都去重,
  只需要去重一个字符串,另一个在比较到相同字符时退出循环就好了*/
int main()
{
    char a[100],b[100];
    int lena,lenb,z=0,i,j,k;
    gets(a);
    gets(b);
    for(i=0;a[i]!='\0';i++)
    {
        for(j=i+1,k=i+1;a[j]!='\0';j++)
        {
            if(a[j]!=a[i])
            {
                a[k]=a[j];
                k++;
            }
        }
        a[k]='\0';
    }
    lena=strlen(a);
    lenb=strlen(b);
    for(i=0;i<lena;i++)
    {
        for(j=0;j<lenb;j++)
        {
            if(a[i]==b[j])
            {
                z++;
                break;
            }
        }
    }
    printf("%d",z);
}