题解 | #计算某字符出现次数#
计算某字符出现次数
https://www.nowcoder.com/practice/a35ce98431874e3a820dbe4b2d0508b1
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int CountCharNum(void);
int main() {
int charcnt = 0;
charcnt = CountCharNum();
printf("%d",charcnt);
return 0;
}
//一些可能的输入和结果
//Aaaa a 4
//3 abc 333 3 1
//"hello Hi" h 2
//数据范围什么意思?字符串的长度吗
int CountCharNum(void)
{
int charcnt = 0;
char buf[1001] = {0};
char ch = '\0';
char ch2 = '\0';
char *p = buf;
//1--输入第一行,由字母、数组和空格组成(不能有其他)
gets(buf);
if(strlen(buf)==0)
{
return 0;
}
//2--输入第二行:一个字符,且保证该字符不为空格
scanf("%c", &ch);
if(ch == ' ')//参数检查,不为空格
{
return 0;
}
if(islower(ch))
{
ch2 = toupper(ch);
}else if(isupper(ch))
{
ch2 = tolower(ch);
}
//3--返回不区分大小写的该字符个数
if(isalpha(ch))
{
while(*p!= '\0')
{
if((*p == ch)||(*p == ch2))
{
charcnt++;
}
p++;
}
}
else //is num
{
while(*p!= '\0')
{
if(*p == ch)
{
charcnt++;
}
p++;
}
}
return charcnt;
}
查看6道真题和解析

