第一串字符一个个读入,每读入一个哈希表相应的值加一,这样就算有几万几十万个数字要读入,我们的表也只用开一百多的空间就行

如果是数字,对应的哈希表的值就是数量

如果是字母,大写的就是哈希表相应值加上哈希表加32的相应值

如果是小写字母,就是哈希表相应值加上哈希表-32的相应值

#include <stdio.h>

int main() {

char word;
char hash[156]={0};
int counter = 0;
char c;
int i;
word = getchar();
while(word!='\n'){
    hash[word]++;
    word = getchar();
}
scanf("%c", &c);
if(c>=48 && c<=57){
    counter=hash[c];
}
else if(c>=65 && c<=90){
    counter=hash[c]+hash[c+32];
}
else{
	counter=hash[c]+hash[c-32];
}
printf("%d", counter);
return 0;

}