查找一个字符串是否包含在另一个字符串中

作者在 2010-04-29 00:39:49 发布以下内容
/*本程序没有使用库函数所以有点麻烦
编译环境 TC2.0
by spygg
*/
#include<stdio.h>
#define MAX 100

int main(void)
{    
char *sourse,*dst;
char a[MAX],b[MAX];
int i=0,dstlen=0,flag=0; 
sourse=a; 
dst=b; 
printf("Input the sourse string\n"); 
gets(sourse);   
printf("Input the dst string\n");  
   gets(dst);   
while(*dst++!='\0')   
dstlen++;   
dst=b;   
while(*sourse!='\0')  
        {     

flag=0;
    if(*sourse==*dst)/*得到第一个相等的字符*/   
{     
    dst++;   
    i++;   
    flag=1; 
    }     
    if(*dst=='\0') /*如果字串结束则退出*/
    break;
    sourse++;  
   if(flag) /*如果第一个字符相等则判断字串的第二个字符跟母串接下来的字符是否相等*/
    if(*dst!=*sourse)   
   {       
    i=0;     
    dst=b;

continue;   
   }  
   }   
if(i!=dstlen)   
printf("dst string not in sourse string\n");  
    else 
printf("In it\n");
}

再来一个

#include<stdio.h>

#include<string.h>


int main(void)

{

int i,sum,len_one,len_two;

char Fir_array[50],Sec_array[20];

char *Out_init,*In_init,*p,*q;

printf("请输入第一个字符串:");

In_init=gets(Fir_array);

len_one = strlen(Fir_array);

printf("请输入第二个字符串:");

Out_init=gets(Sec_array);

len_two = strlen(Out_init);

if(len_one-len_two<0)

{

printf("Out of it\n");

return 0;

}

for(i=0;i<=len_one-len_two;i++)

{

sum=0;

p=In_init;

q=Out_init;

while(*p==*q)

{

sum++;

p++;

q++;

}

if(sum>=len_two)

{

printf("In it\n");

return 0;

}

In_init++;

}

printf("Out of it\n");

return 0;

}


默认分类 | 阅读 975 次
文章评论,共0条
游客请输入验证码
浏览51181次
文章分类