功能:替换一篇文章中指定的错误单词。
//文字处理(将句中出现的所有错词修改正确)
#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;
}