题解 | #计算某字符出现次数#
计算某字符出现次数
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; }