题解 | #计算某字符出现次数# 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")
查看21道真题和解析
