Posted on 2012-08-18 21:31
hoshelly 閱讀(250)
評論(0) 編輯 收藏 引用 所屬分類:
Programming
編寫一個程序,輸入一個字符串 a ,并且輸入一組子串的序列,字符序列之間用空格隔開,打印出那些為字符串 a 的子串。(本次輸入的子串不分先后,可以 a 的子串在前面,亦可非 a 的子串在前面)
代碼測試通過:
#include<stdio.h>
#include<
string.h>
#define N 1000
int main()
{
char a[N],b[100];
int i,j;
printf("Input the a string: ");
//輸入字符串
gets(a);
while((scanf("%s",b)) != EOF )
//輸入要檢測的子串
{
for(i=0;a[i]!=0;i++)
//開始檢測
{
for(j=0;b[j]!=0;j++)
{
if(a[i+j]!=b[j])
//如果字符不匹配,則退出本次循環,進行第一層循環i+1
break;
}
if(b[j] == '\0')
//如果b[j] = '\0',則說明字符匹配到了子串的最后,匹配成功,輸出子串
printf("%s\n",b);
}
}
return 0;
}
輸出結果實例:
