D : riba的名字
比赛链接:http://oj.nyist.me/OJ/contest_problemset.php?cid=1036&showmsg=1题目描述
大佬riba非常喜欢自己的名字,于是大佬想知道一个随机字符串(长度不超过200)里面有多少个“riba”(大小写混合),
但是大佬没有时间去做这么简单的事情,所以请你帮忙去做,你能帮打佬解决这个问题吗?
输入
多组测试数据,每组测试数据包含一个长度不大于200的字符串s
输出
输出"riba"出现的次数(大小写混合)
样例输入
复制
riba riiba ribarindintRiba
样例输出
复制
1 0 2
提示
无
这道题我开始是想用strcmp这个比较函数做的,但是代码写完之后,发现结果错了,
然后毕竟是比赛所以还是改了一下做法,我觉得大概是我函数的用法没掌握好,所以我要看看书了!!
然后用下面这种做法看代码应该很好理解,就是判断一下。要注意的是题目说了是大小写混合!!
代码如下:
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; char a[300]; int main() { while(~scanf("%s",a)) { int len=strlen(a); int ans=0; for(int i=0;i<len;i++) { if((a[i]=='r'||a[i]=='R')&&(a[i+1]=='i'||a[i+1]=='I')&&(a[i+2]=='b'||a[i+2]=='B')&&(a[i+3]=='a'||a[i+3]=='A')) ans++; } printf("%d\n",ans); } return 0; }