C语言改错题求救!!!

C语言题目 [改错题]文本修改函数
Time Limit:1000MS Memory Limit:65535K
题型: 填空题 语言: 无限制
描述
从键盘录入文本,以#结束,对文本中出现的错误的人名“sith”,“smth”,“smih”,“Sith”,“Smth”,“Smih”,改为正确的人名“Smith”,
输出修改后的文本。下面代码是实现了该功能的程序,但指定位置处有错误,请改正错误。

#include
#include
#include

char text[20000];
char out[20000];
char match[6][20]={"sith","smth","smih","Sith","Smth","Smih"};

int notLetter(char ch)
{
return !((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'));
}

void modify(char text, char *out)
{
int find,i,j;
int size=strlen(text);
for(i=0; i<size-4; i++)
{
/
************** Wrong *******************
find=0;
for(j=0;j<6;j++)
if(text[i]==match[j][0]&&
text[i+1]==match[j][1]&&
text[i+2]==match[j][2]&&
text[i+3]==match[j][3]&&
notLetter(match[j][4])) find=1;
out++=text[i];
*
******************************************/


}
if(!find)
{
*out++=text[i];*out++=text[i+1];*out++=text[i+2];*out++=text[i+3];*out++=0;
}
}

int main()
{
int size=0;
while((text[size]=getchar())!='#') size++;
text[size]=0;
modify(text, out);
printf("%s",out);
return 0;
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问