NOJ 爱过
题目描述:
模拟一个对话场景,请找出一个连续字符串中分别出现了多少个“ask”和“asked”,
每遇到一个单独的ask输出一行love,
每遇到一个asked输出一行loved(遇到asked中包含的ask时不输出love)
输入:
第一行为一个整数T,表示数据组数;
每组数据输入为一个长度不超过2000的字符串。
输出:
每组数据第一行输出“Case #x:“,x指代当前为第几组数据;
遇到一个ask输出一行love;
每遇到一个asked输出一行loved(遇到asked时不输出ask)。
样例输入:
1
kalsasketasked
样例输出:
Case #1:
love
loved
分析:
判断一组子字符串是否为’a‘,’s‘,’k‘,如果是,则继续判断是ask还是asked。
控制好判断条件很重要。
实现代码:
#include<stdlib.h> #include<stdio.h> #include<cstring> int t,len; char a[2000+1]; int main() { scanf("%d",&t); getchar(); for(int mm=1;mm<=t;mm++) { gets(a); len=strlen(a); printf("Case #%d:\n",mm); for(int i=0;i<len-2;i++) { if(a[i]=='a'&&a[i+1]=='s'&&a[i+2]=='k') { if(i+3<len&&i+4<len&&a[i+3]=='e'&&a[i+4]=='d') printf("loved\n"); else printf("love\n"); } } } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
posted on 2015-04-20 16:49 Tob__yuhong 阅读(95) 评论(0) 编辑 收藏 举报