简单分享一下自己的解题思路
主函数初始化数组并统计字符个数,运行题目要求函数后获取答案并打印。
tj()函数内部创建了一个map[127]数组 循环127次将字符置入每一个对应的下标
然后for循环嵌套对比目标字符串  如果有相同的count+1 并将map[j]对应的字符置为NULL(方便下次不再重复对比)
最后返回count
欢迎各位批评指正,提出优化建议!
#include <stdio.h>
#include <string.h>
int tj(char *str,int len)
{
    int count=0;
    char map[127];
    for(int i=0;i<=127;i++)
    {
        map[i]=i;
    }
    for(int i=0;i<len;i++)
    {
        for(int j=0;j<=127;j++)
        {
            if(map[j]==str[i])
            {
                count++;
                map[j]=NULL;
            }
        }
    }
    return count;
}
int main()
{
    char str[500];
    scanf("%[^\n]\n",str);
    int len=strlen(str);
    int count=tj(str,len);
    printf("%d",count);
    return 0;
}