题目:
题目描述:写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字母,然后输出输入字符串中该字母的出现次数。不区分大小写,字符串长度小于500。
输入描述::第一行输入一个由字母和数字以及空格组成的字符串,第二行输入一个字母。
输出描述::输出输入字符串中含有该字符的个数。
示例1
输入
ABCabc A
输出
2
结果:
解题思路:
1,不区分大小写,那么我们需要的哈希表只需要90.
2,获取一个字符,如果是小写转换为大写。然后全部按照ASCII码,在对应的哈希表数值上+1.
4,当获取到\n说明字符串输入结束,获取需要判断的字符。将对应的哈希表中的值输出即可。
代码:
#include <stdio.h>
#include <stdlib.h>
int main() {
char temp;
int hash[90] = {0};
while(scanf("%c", &temp) != EOF) {
if(temp > 90)
temp = temp - 32;
if(temp == '\n'){
break;
}
hash[(int)temp]++;
}
if(scanf("%c", &temp) != EOF) {
if(temp > 90)
temp = temp - 32;
printf("%d\n", hash[(int)temp]);
}
return 0;
}