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