【十二题解】 | C语言,哈希表,(坚持只引用stdio.h)
计算某字符出现次数
http://www.nowcoder.com/practice/a35ce98431874e3a820dbe4b2d0508b1
第一串字符一个个读入,每读入一个哈希表相应的值加一,这样就算有几万几十万个数字要读入,我们的表也只用开一百多的空间就行
如果是数字,对应的哈希表的值就是数量
如果是字母,大写的就是哈希表相应值加上哈希表加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;
}