单词替换

本文介绍了一个使用C语言实现的文章错词自动替换程序。该程序能够接收一段文本输入,用户可以指定需要替换的错误单词及正确的单词,程序会遍历文本并进行替换操作。此外,还包含了对字符串处理的技巧,如查找和替换指定子串等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

#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;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值