(大一水平)求大佬帮帮忙写段代码。

用编写代码以确定字符串a是否包含字符串b。

文字列A:information

 文字列B:form

 文字列C:from

这个的时候,文字列B和文字列A关系「包含」

    文字列C和文字列Aに「不包含」

C Standard Library和strstr禁止使用

字符串算法的经典问题了, 请看一些资料: https://blog.csdn.net/u010089444/article/details/70226015

字符串算法的经典问题了, 你可以写一个最基本的算法:

1) 先找到第一个相同的字符,

2)再看从这个字符开始的子字符串是否也相同... 

3)直到所有位置都遍历过了

另外,请看一些学习资料: https://blog.csdn.net/u010089444/article/details/70226015

/*

プログラムの目的:

文字列aに文字列bが含まれるかを判定するコード

文字列A:information

  文字列B:form

  文字列C:from

のとき,文字列Bは文字列Aに「含まれる」

     文字列Cは文字列Aに「含まれない」

*/

#include <stdio.h>

#include <string.h>

#include <stdlib.h>

int is_in(char *document, char *search_word);

int find(char *buf, char *sub);

int main()

{

// 関数1を呼び出す

//比較したいテキスト[form]と[from]交換だけです。

if (is_in("information", "from") == 1) // 関数の呼び出し:パラメーター2:比較テキスト、パラメーター1:元のテキスト

{

printf("\n含まれる\n");

}

else

{

printf("\n含まれない\n");

}

}

// 関数の作成(メソッド1):文字列関数を含めるかどうか

int is_in(char *document, char *search_word)

{

int i = 0, j = 0, flag = -1;

while (i < strlen(document) && j < strlen(search_word))

{

if (document[i] == search_word[j])

{ //文字が同じ場合、両方の文字が増加します

i++;

j++;

}

else

{

i = i - j + 1; //メイン文字列文字は、最初の比較後に文字に戻ります

j = 0; //文字列文字の再起動

}

if (j == strlen(search_word))

{ //試合が成功した場合

flag = 1; //文字列が表示されます

break;

}

}

return flag;

}

/*

[form]時:含まれる

[from]時:含まれない

/*