欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

2.接受一个由字母和数字组成的字符串,和一个字符,然后输入输入字符串中含有该字符的个数。不区分大小写。

程序员文章站 2022-04-05 17:09:10
...

2.接受一个由字母和数字组成的字符串,和一个字符,然后输入输入字符串中含有该字符的个数。不区分大小写。

自我解析:由于不区分大小写,需要判断给出的字符是大写或者小写字符时,加上字符串中对应小写或者大写的数量,这才是最终的出现次数。

#include <stdio.h>

int CountChar(char *str, char c, int count){
    int i = 0;
    while(str[i] != '\0'){
        if(str[i] == c){
            count++;
        }
        i++;
    }
    return count;
}

int main(){
    char str[5000];
    gets(str);
    char c;
    scanf("%c", &c);
    int count = 0;
    count = CountChar(str, c, count);
    if((c - 'a') < 26 && (c - 'a') >= 0){
        char c2 = c - 'a' + 'A';
        count = CountChar(str, c2, count);
    }
    else if((c - 'A') < 26 && (c - 'A') > 0){
        char c2 = c + 'a' - 'A';
        count = CountChar(str, c2, count);
    }
    printf("%d\n", count);
    return 0;
}