题解 | #计算某字符出现次数#

计算某字符出现次数

https://www.nowcoder.com/practice/a35ce98431874e3a820dbe4b2d0508b1

#include<iostream>
#include<string>
//#define _CRT_SECURE_NO_WARNINGS

using namespace std;

int main() {
    string s;
    string a;
    getline(cin,s);
    cin.clear();
    getline(cin,a);
    char s2 = a.at(0);
    char* p = &s.at(0);
    int counter = 0;
    while (*p!='\0')
    {
        //cout << *p << endl;
        if (*p == s2){
            counter++;
        }
        /* 数字就是数字 ,字母就是字母 Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,Q,56 
        为什么大写Q +32 就等于1了
            */
        
        if ((s2 >= 'a' && s2 <= 'z') || (s2 >= 'A' && s2 <= 'Z')) { 
        //这里之前是((*p >= 'a' && s2 <= 'z') || ((*p >= 'A' && s2 <= 'Z')但是遇到*p=Q,s2=1就任然能够执行counter++这是为啥呀
            if ((*p) + 32 == s2 || (*p) - 32 == s2) {
               // cout << *p << ",";
                counter++;
            }
        }
        
        p++;
    }
    cout << counter;
    return 0;
}
全部评论

相关推荐

小万喜欢吃牛油:很多是多少,我不想被 误导了,简历没有什么大问题,如果只有几十家,投到一百多家再说吧
投递几十家公司,到现在0...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务