题解 | #计算某字符出现次数# C风格字符串

计算某字符出现次数

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

刚开始很快写好了,但是提交后最后一个测试用例总是异常,输出结果恒为1。后来发现是字符串结尾字符的问题,将长度设为1001个字符就解决了。

#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main() {
    char s[1001] = "\0";
    char a;
    int cnt = 0;
    char flag = 0;

    cin.getline(s, 1001, '\n');
    cin.get(a);
    if ((a <= 'z' && a >= 'a') || (a <= 'Z' && a >= 'A')) {
        flag = 1;
    }
    switch (flag) {
        case 0:
            for(int i = 0; i < 1000; ++i)
            {
                if (a == s[i])
                {
                    ++cnt;
                }
            }break;
        case 1:
            for(int i = 0; i < 1000; ++i) {
                if (a == s[i] || a + 'A'-'a' == s[i] || a - 'A' + 'a' == s[i]) {
                    ++cnt;
                }
            }break;
        default:
            break;
    }
    printf("%d", cnt);

    return 0;
}
// 64 位输出请用 printf("%lld")
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务