题解 | #计算某字符出现次数#
计算某字符出现次数
https://www.nowcoder.com/practice/a35ce98431874e3a820dbe4b2d0508b1?tpId=37&tags=&title=&difficulty=0&judgeStatus=0&rp=1&sourceUrl=%2Fexam%2Foj%2Fta%3Fpage%3D1%26tpId%3D37%26type%3D37
#include <stdio.h> #include <string.h> int hashTable[26 * 10 * +1]; int hashFuns(char a) { int id = 0; if (a >= 'a' && a <= 'z') { id = id * 37 + (a - 'a'); } else if (a >= '0' && a <= '9') { id = id * 63 + (a - '0') + 36; } else { id = id * 63 + (a - ' ') + 46; } return id; } int main() { char str[1005]; char a ; fgets(str , 1004 , stdin); scanf("%c" , &a); int len = strlen(str); for (int i = 0; i < len; i++) { int id = 0; if (str[i] >= 'A' && str[i] <= 'Z') { str[i] = str[i] + 32; } id = hashFuns(str[i]); hashTable[id]++; } if (a >= 'A' && a <= 'Z') { a = a + 32; } int dd = hashFuns(a); printf("%d", hashTable[dd]); return 0; }