您的位置:首页 > 其它

输入一串字符,输入头串与尾串,在该字符串里找出这段字符串

2016-11-27 20:34 211 查看

#include<stdio.h>

#include<string.h>

#define MAX 1024

int head_flog = 0;

int tail_flog = 0;

char *tail(char *str, char *b)

{

    int num = 0;

    int len_b;

    char *temp = b;

    len_b = strlen(b);

    if((NULL == str) || (NULL == b))

    {

 return NULL;

    }

    if(strlen(str) < strlen(b) )

    {

        return NULL;

    }

    if(head_flog != 0)

    {

        while((*str != '\0') && (!tail_flog))

 {

     while(*str == *temp)

     {

  str++;

  temp++;

  num++;

  if(num == len_b)

  {

      tail_flog = 1;

      temp = str -1;

      break;

         }

     }

     if((num != 0)&&(num != len_b))

     {

  num = 0;

  temp = b;

  str--;

     }

     str++;

 }

    }

    if(tail_flog != 0)

    {

 return temp;

    }

    else

    {

 printf("string illgeal!\n");

 return NULL;

    }

}

char *head(char *str, char *a)

{

    int num = 0;

    int len_a;

    char *temp = a;

    len_a = strlen(a);

    if ((NULL == str) ||(NULL == a))

    {

 return NULL;

    }

    if (strlen(str) < strlen(a))

    {

 return NULL;

    }

    while ((*str != '\0') && (!head_flog))

    {

 while(*str == *temp)

 {

     str++;

     temp++;

     num++;

     if(num == len_a)

     {

  head_flog = 1;

  temp = str - len_a;

  break;

     }

 }

 if((num != 0)&&(num != len_a))

 {

     num = 0;

     temp = a;

     str--;

 }

 str++;

    }

    if(head_flog != 0)

    {

 return temp;

    }

    else

    {

        printf("string illgeal!\n");

    }

}

int main()

{

    int n;

    int i;

    char str[MAX];

    char a[5];

    char b[5];

    char *start = NULL;

    char *end = NULL;

    printf("Enter string(<=100)!\n");

    scanf("%s",str);

    printf("Enter head string(<=5)!\n");

    scanf("%s",a);

    printf("Enter tail string(<=5)!\n");

    scanf("%s",b);

    start = head(str,a);

    end = tail(str,b);

    n = end - start + 1;

    if (n > 0)

    {

 for (i = 0; i < n; i++)

 {

     printf("%c",*start);

     start++;

 }

 printf("\n");

    }

    else

    {

 printf("No data!\n");

    }

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐