题解 | #计算某字符出现次数#
计算某字符出现次数
https://www.nowcoder.com/practice/a35ce98431874e3a820dbe4b2d0508b1
这个题有两个坑:
①用scanf函数读取字符串的时候,需要加换行符作为结束标制
②判断不区分大小写,需要用target目标字符串去判断是数字还是字符,如果用input字符串去判断是字符串还是数字的话,就会存在错误统计的情况,如:'1' +32='Q',所以会存在bug
具体代码如下:
#include <stdio.h>
#include<string.h>
int main() {
char input[1000],target,ch;
int count=0,k=0;
//读取字符串
scanf("%[^\n]\n",input);
//读取目标字符
scanf("%c\n",&target);
//统计字符串中target出现的次数
count=strlen(input)-1;
while(count>=0){
ch=input[count];
//统计数字
if(target>='0'&&target<='9'&&ch==target){
k++;
}else if((target>='a'&&target<='z')||(target>='A')&&(target<='Z')){
if((target-32)==ch||(target+32)==ch||ch==target){//统计字母
k++;
}
}
count--;
}
printf("%d",k);
return 0;
}