题解 | #计算某字符出现次数#
计算某字符出现次数
http://www.nowcoder.com/practice/a35ce98431874e3a820dbe4b2d0508b1
我的代码:
#include<stdio.h>
#include<string.h>
int main(){
char s[1001],c;
gets(s); //注:scanf()不能接受带空格的字符串
{
int count=0,len=strlen(s);
scanf("%c",&c);
for(int i=0;i<len;i++)
//判断,注意不区分大小写。
if(s[i]==c||(s[i]==c+32&&s[i]>='a'&&c<='Z')||(s[i]==c-32&&s[i]<='Z'&&c>='a'))
count++;
printf("%d\n",count);
}
}
讨论区学到的,用字符串库函数tolower()将字符串和判定字符都转化为小写字母进行比较:
#include<stdio.h>
#include<string.h>
int main()
{
char str[1000]={0};
char flag={0};
int i=0;
gets(str);
int count=0;
scanf("%c",&flag);
while(str[i]!='\0')
{
if(tolower(str[i])==tolower(flag))
{
count++;
}
i++;
}
printf("%d",count);
return 0;
}