鱼C论坛

 找回密码
 立即注册
查看: 1130|回复: 4

[已解决](大一水平)求大佬帮帮忙写段代码,真心搞不定了

[复制链接]
发表于 2021-2-5 21:06:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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


文字列A:information
 文字列B:form
 文字列C:from
这个的时候,文字列B和文字列A关系「包含」
    文字列C和文字列Aに「不包含」

C Standard Library和strstr禁止使用

期末作业的一道题,有会的大佬还请帮帮小弟。
最佳答案
2021-2-5 21:19:22
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int is_in(char *wenben, char *search_word);
int find(char *buf, char *sub);
int main()
{

    // 调用函数一
    if (is_in("机房机房就感觉贾继康", "贾继康") == 1) // 调用函数:参数二:比较文本,参数一:原文本
    {
        printf("\n包含");
    }
    else
    {
        printf("\n不包含");
    }
}

// 创建函数(方法一):是否包含字符串函数
int is_in(char *wenben, char *search_word)
{
    int i = 0, j = 0, flag = -1;
    while (i < strlen(wenben) && j < strlen(search_word))
    {
        if (wenben[i] == search_word[j])
        { //如果字符相同则两个字符都增加
            i++;
            j++;
        }
        else
        {
            i = i - j + 1; //主串字符回到比较最开始比较的后一个字符
            j = 0;         //字串字符重新开始
        }
        if (j == strlen(search_word))
        {             //如果匹配成功
            flag = 1; //字串出现
            break;
        }
    }
    return flag;
}
来自https://blog.csdn.net/jiajikang_ ... 4-84546952.nonecase
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-2-5 21:19:22 | 显示全部楼层    本楼为最佳答案   
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int is_in(char *wenben, char *search_word);
int find(char *buf, char *sub);
int main()
{

    // 调用函数一
    if (is_in("机房机房就感觉贾继康", "贾继康") == 1) // 调用函数:参数二:比较文本,参数一:原文本
    {
        printf("\n包含");
    }
    else
    {
        printf("\n不包含");
    }
}

// 创建函数(方法一):是否包含字符串函数
int is_in(char *wenben, char *search_word)
{
    int i = 0, j = 0, flag = -1;
    while (i < strlen(wenben) && j < strlen(search_word))
    {
        if (wenben[i] == search_word[j])
        { //如果字符相同则两个字符都增加
            i++;
            j++;
        }
        else
        {
            i = i - j + 1; //主串字符回到比较最开始比较的后一个字符
            j = 0;         //字串字符重新开始
        }
        if (j == strlen(search_word))
        {             //如果匹配成功
            flag = 1; //字串出现
            break;
        }
    }
    return flag;
}
来自https://blog.csdn.net/jiajikang_ ... 4-84546952.nonecase
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-5 22:30:21 | 显示全部楼层
楼上已经有程序了(我不便再写程序写程序),你仔细研读楼上的程序,有问题再说
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-5 22:51:39 | 显示全部楼层
/*
    プログラムの目的:
        文字列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]時:含まれない
/*
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-5 22:52:27 | 显示全部楼层
小甲鱼的铁粉 发表于 2021-2-5 21:19
来自https://blog.csdn.net/jiajikang_jjk/article/details/84546952?ops_request_misc=&request_id=&biz ...

我修改了下代码,写出来了,感谢。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-14 18:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表