题目描述
给定两个字符串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; }