當前位置:成語大全網 - 書法字典 - c語言程序糾錯。

c語言程序糾錯。

# include & ltstdio.h & gt

# include & ltstdlib.h & gt

#定義大小20 /*查找單詞字符並輸入小於20的替換單詞*/

#定義MAXLEN 10000 /*文章字符不超過10000 */

int main(void)

{

FILE * fp

int i,j;

int標誌;/*用於標記匹配的單詞*/

int計數標誌;/*用於檢查匹配計數*/

int countOne = 0;/*記錄未更改文章中的字符數*/

int count two = 0;/*記錄已更改文章中的字符數*/

char關鍵字[大小];/*查找單詞*/

char copy words[SIZE];/*替換單詞*/

char strOne[MAXLEN];/*將未更改文章的所有字符存儲在其中*/

char strTwo[MAXLEN];/*將修改後的文章的所有字符存儲在其中*/

Printf("請輸入要查找的單詞:");

獲取(關鍵字);

Printf("請輸入要替換的單詞:");

gets(copy words);

if(null = =(FP = fopen(" E:\ \ C+\ \ 123 . txt "," r ")/* Read file */

{

Printf("文件無法打開!\ n ");

退出(0);

}

//測試代碼錯誤。

Printf("打開成功!\ n ");

/*while(!Feof(fp))//讀取文件

{

//strOne[count one++]= fgetc(FP);

putchar(fgetc(FP));//用於測試

count one++;

}

printf(" \ n ");

*/

而(!Feof(fp))/*讀取文件*/

{

strOne[countOne]= fgetc(FP);

count one++;

}

printf(" \ n ");

//用於測試

countOne-;/*減去最後壹個文件結束字符*/

Printf("文章未更改時的字符數為%d!\n”,count one);?//用於測試和顯示字符數。

/*

for(I = 0;我& ltcountOnei++)?//測試字符是否寫入數組。

{

printf("%c ",strOne[I]);

}

*/

for(I = 0;我& ltcountOnei++)

{

If (keywords [0] = = strong [I])/*判斷搜索詞的第壹個字符是否匹配*/

{

if((' ' = = strong[I-1])| |(' \ n ' = = strong[I-1])| |(0 = = I))/* 1。檢查單詞*/前的字符

{

flag = 1;

count flag = I+1;

for(j = 1;關鍵詞[j]!='\0';j++)

{

if(關鍵詞[j]!= strOne[countFlag++])/*+])/*是否匹配*/

{

flag = 0;

打破;

}

}

if((' ' = = strong[count flag])| |(' \ n ' = = strong[count flag])| |(EOF = = strong[count flag])/* 2。檢查單詞*/後的壹個字符

{

If (1 == flag)/*如果匹配,則復制*/

{

I = count flag-1;

for(j = 0;字帖[j]!='\0';j++)

{

strTwo[count two ++]= copy words[j];

}

}

}

Else/*另壹個3*/

{

strTwo[count two ++]= strOne[I];

}

}

Else/*另壹個2 */

{

strTwo[count two ++]= strOne[I];

}

}

Else/*另壹個1*/

{

strTwo[count two ++]= strOne[I];

}

}

fclose(FP);

if(null = =(FP = fopen(" E:\ \ C+\ \ 123 . txt "," w ")/*寫入文件*/

{

Printf("文件無法打開!\ n ");

退出(1);

}

for(I = 0;我& lt數數二;I++)/*寫入文件*/

{

fputc(strTwo[i],FP);

}

Printf("寫入成功!\ n ");

fclose(FP);

系統(“暫停”);

返回0;

}