题目描述
给定两个字符串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");elseprintf("NO\n");
}
int main()
{while(gets(s1)){gets(s2);cmp(s1,s2);}return 0;
}