計導作業 檔案 過濾注釋

2021-09-08 03:56:16 字數 1842 閱讀 5948

1. 將乙個.c檔案1複製到另乙個檔案2中,要求過濾掉檔案1中的注釋。

注釋型別:以//開頭或者/**/中的注釋。用乙個函式完成該功能。

基本要求:假設//或者/**/不會出現在printf語句中。

高階要求:要能處理printf中的//或者/**/

練習目的:練習檔案的基本操作

//klkl//kk;;l/*l;;l*/

/*klklk/*k;k;l

lklkl*/

/*klklkl//klklkl*/

/*上述紅色字型部分都是注釋

*/

main()

乙個個字元讀取判斷,不然。。讀整行判斷挺麻煩的。

#includeint

main()

;//後面的字元一直到『\n』之前的都不用考慮

if(c!=eof)fputc(c,f2);//

把回車寫入f2,ok

}

else

if(c=='

*')//

遇到『/*』的情況}}

else

}else

if(c=='

"')//

把雙引號及之間的所有字元直接輸出

if(c!=eof)fputc(c,f2);

}fputc('"

',f2);

}else

if(c=='

\'')//

把單引號及之間的所有字元直接輸出

if(c!=eof)fputc(c,f2);

}fputc('\'

',f2);

}else

if(c!=eof)fputc(c,f2);//

其它字元直接輸出

} fclose(f1);

fclose(f2);

return0;

}

歡迎同學們給我找出bug。

yx同學給我找到了乙個bug,感謝!現在的**已經更新,yx的樣例:

before.c

#include/*

*wocao

*/int

main()

/**/

after.c

#includeint

main()

before.c

else

if(c=='

"')//

把雙引號及之間的所有字元直接輸出

after.c

else

if(c=='"'

)

續行符的情況

befor.c

#includeint

main()

};return0;

}

after.c

#includeint

main()

};return0;

}

bug修復:2016/4/11 8:04 遇到單引號裡的雙引號不處理。

bug修復:2016/4/12 21:38 遇到續行符的處理。

計導作業 鍊錶 成績統計2

問題描述 定義乙個學生資訊結構,包括姓名 學號和總成績。從鍵盤上輸入若干學生的資訊,學生個數未知,當輸入的姓名為 時表示輸入結束 學生的總成績為整數,範圍是0 1600,不會出現非法輸入。你的任務是分別統計出1400分以上同學的具體資訊與人數。學生的姓名中只能包含大小寫字母與空格字元,不會超過20個...

計導作業 鍊錶 差集與交集

問題描述 已知有兩個遞增的正整數序列a和b,序列中元素個數未知,同一序列中不會有重複元素出現,有可能某個序列為空。你的任務是求這兩個序列的差集a b與交集a b。a b就是僅由在a中出現而不在b中出現的元素所構成的集合,設為c1 a b就是既在a中出現也在b中出現的元素所構成的集合,設為c2。要求 ...

計導非課系列 緒言 什麼是「計導非課」系列?

計算機導論是第一門進入大學開始學習並且最早結束的一門課程,雖說很快就結束了,考試也是近在咫尺,但是計算機導論遠遠不只是一門課這麼簡單 它包含了計算機思維,作為乙個計算機新生對於計算機的認知 我們怎樣理解以後要面對的各門課程,如何像計算機一樣去理解問題,並且把它實現?這也許就是計算機導論課帶給我們的最...