描述
写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,然后输出输入字符串中该字符的出现次数。(不区分大小写字母)
数据范围:1≤n≤1000
输入描述:
第一行输入一个由字母、数字和空格组成的字符串,第二行输入一个字符(保证该字符不为空格)。
输出描述:
输出输入字符串中含有该字符的个数。(不区分大小写字母)
示例1
输入:
ABCabc
A
复制
输出:
2
代码实现:
int main() {
char str[1000] = {0}, ch;
int count = 0;
/*数组保存字符串,ch是第二次输入的字符,count统计个数*/
gets(str);//读入输入字符,遇到回车停止读入
scanf("%c\n", &ch); //输入要统计数量的字符
if (ch >= 'a' && ch <= 'z') {
ch = ch - 32;
}//如果待查询字符为小写字母,将其转换为大写字母,其余情况不变
for (int i = 0; i < strlen(str); i++) { //遍历数组
if (str[i] >= 'a' && str[i] <= 'z') {
str[i] = str[i] - 32;
}//将字符串中的小写字母转换成大写字母,其余不变
if ( ch == str[i] ) {
count++;
}
}
printf("%d", count);
return 0;
}
复杂度分析:
时间复杂度:遍历整个数组1次——O(n) 空间复杂度:O(n)