每日一句,送给最珍贵的你:
诱人的机会总是转瞬即逝的。真正好的投资机会不会经常有,也不会持续很长的时间,所以你必须做好行动的准备。要有随时行动的思想。
题目描述
一个长度为l(3<=l<=255)的字符串中被反复贴有 boy 和 girl 两单词,后贴上的可能覆盖已贴上的单词(没有被覆盖的用句点表示),最终每个单词至少有一个字符没有被覆盖。问贴有几个 boy 几个 girl?
输入格式
一行被被反复贴有boy和girl两单词的字符串。
输出格式
两行,两个整数。第一行为boy的个数,第二行为girl的个数。
输入
…boyogirlyy…girl…
输出
4
2
源代码:
#include<stdio.h>
#include<string.h>
int main() {
int k,n,m,w;
char a1[300];
m=0;
w=0;
scanf("%s",a1);
k=strlen(a1);
if(k>=3&&k<=255) {
for (n = 0; n < k; n++) {
if (a1[n]!='.') {
if(a1[n]=='b'){
m++;
}
if(a1[n]=='o'&&a1[n-1]!='b'){
m++;
}
if(a1[n]=='y'&&a1[n-1]!='o'){
m++;
}
if(a1[n]=='g'){
w++;
}
if(a1[n]=='i'&&a1[n-1]!='g') {
w++;
}
if(a1[n]=='r'&&a1[n-1]!='i'){
w++;
}
if(a1[n]=='l'&&a1[n-1]!='r'){
w++;
}
}
}
}
printf("%d\n%d",m,w);
return 0;
}
To:代码有点套娃的味道,哈哈哈。其实也可以写得少一点的,大家可以试试。
运行结果:
最后的话:题目很简单,主要是考我们的逻辑能力以及解决各种方案的能力。
刷题要找自己的不足,然后去专攻。