题解 | #计算某字符出现次数#
计算某字符出现次数
http://www.nowcoder.com/practice/a35ce98431874e3a820dbe4b2d0508b1
//写出一个程序,接受一个由字母、数字和空格组成的字符串,和一个字符,
//然后输出输入字符串中该字符的出现次数。(不区分大小写字母)
#include <stdio.h>
#include <string.h>
int main()
{
char str[5000];
char flag;
int count=0;
scanf("%[^\n]",str);
getchar(); //读取缓冲区的换行符\n,ascll码是10
scanf("%c",&flag);
for(int i=0;i<strlen(str);i++)
{
if(flag<=57&&str[i]==flag)
{
count++;
continue; //跳过当次循环,进入下次循环
}
if(flag>=65&&(str[i]==flag||str[i]+32==flag||str[i]-32==flag))
count++;
}
printf("%d",count);
}
//本题问题出在测试用例可能是数字,1-9的ASCLL码是48到57,加上32刚好对应80到89,所以会出现误会把大写计入的错误。 所以需要添加条件,判断要查找的字符是否是数字。