题目描述
给定两个字符串string1和string2,判断string2是否为string1的子串。
输入
输入包含多组数据,每组测试数据包含两行,第一行代表string1,第二行代表string2,string1和string2中保证不出现空格。(string1和string2大小不超过100字符)
输出
对于每组输入数据,若string2是string1的子串,则输出"YES",否则输出"NO"。
示例输入
abc a 123456 45 abc ddd
示例输出
YES YES NO
#include <stdio.h> #include <stdlib.h> #include<string.h> #define max 101 int l1,l2; char s1[1001],s2[1001]; void cmp(char s1[],char s2[])//判断s2是否是s1的子串; { l1=strlen(s1); l2=strlen(s2); int i=0,j=0; while(i<l1&&j<l2) { if(s1[i+j]==s2[j]) j++; else { i++; j=0; } } if(s2[j]=='\0') printf("YES\n"); else printf("NO\n"); } int main() { while(gets(s1)) { gets(s2); cmp(s1,s2); } return 0; }