单词替换

功能:替换一篇文章中指定的错误单词。

//文字处理(将句中出现的所有错词修改正确)

#include<stdio.h>
#include<string.h>
int change(char *sentence, char *wrong, char *correct);

int main(void)
{
    char sentence[1000],wrong[20],correct[20];
    
    printf("Input the sentence.\n");
    gets(sentence);
    
    printf("Which word you want to change?\n");
    gets(wrong);
    
    printf("to what?\n");
    gets(correct);
    
    change(sentence, wrong, correct);
    
    printf("The correct one:\n%s\n",sentence);
    
    return 0;
}

int change(char *sentence, char *wrong, char *correct)
{
    unsigned long len;
    char *where,*p,s[1000];
    len = strlen(wrong);
    p = sentence;
    while (1)
    {
        strcpy(s, correct);
        where = strstr(p, wrong);//找到与错误词相同的位置
//        没找到就退出循环
        if (where == NULL)
        {
            break;
        }
//        防止错误词出现在词中
        if ((*(where+len)<'A' || *(where+len)>'Z') && (*(where+len)<'a' || *(where+len)>'z'))
        {
            if ((*(where-1)<'A' || *(where-1)>'Z') && (*(where-1)<'a' || *(where-1)>'z'))
            {
                strcat(s, where+len);
                strcpy(where, s);
            }
        }
        p = where + strlen(correct);
    }
    
    return 0;
}

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]是一段C++代码,用于实现单词替换功能。该代码通过循环读入单词,并将其保存在一个字符串数组中。然后,根据用户输入的要替换单词替换后的单词,遍历数组并进行替换操作。最后,输出替换后的字符串数组。 引用\[2\]是另一种实现单词替换功能的C++代码。该代码通过读入整个字符串,并使用空格作为分隔符将字符串拆分为多个单词,然后将这些单词保存在一个二维字符数组中。接下来,根据用户输入的要替换的字符串和替换后的字符串,遍历数组并进行替换操作。最后,输出替换后的字符串数组。 引用\[3\]是第三种实现单词替换功能的C++代码。该代码通过循环使用getchar()函数读入字符,并构造单词,将其保存在一个指针数组中。然后,根据用户输入的要替换的字符串和替换后的字符串,遍历数组并进行替换操作。最后,输出替换后的字符串数组。 根据你的问题,你想要实现一本通1406中的单词替换功能。你可以选择其中一种代码实现方式,并根据题目要求进行相应的修改。请注意,这些代码只是实现单词替换的一种方式,你可以根据自己的需求进行修改和优化。 #### 引用[.reference_title] - *1* *2* *3* [信息学奥赛一本通 1406:单词替换 | OpenJudge NOI 1.7 21:单词替换](https://blog.csdn.net/lq1990717/article/details/122760530)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值