定义一个长度为128的bool类型数组find,用来表示是否已经查找到了字符。循环读入字符,遇到回车进行统计输出,否则判断输入的字符是否在0到127的范围,如果是则以字符的ascii码为索引更新find数组

#include <stdio.h>

int main()
{
    char ch;
    bool find[128] = {false};
    while(scanf("%c", &ch) != EOF)
    {
        if(ch == '\n')
        {
            int count = 0;
            for(int i=0;i<128;i++)
            {
                if(find[i])
                {
                    count++;
                }
            }
            printf("%d\n", count);
        }
        else
        {
            if(ch >= 0 && ch <= 127)
            {
                find[ch] = true;
            }
        }
    }
    return 0;
}