1. 將乙個.c檔案1複製到另乙個檔案2中,要求過濾掉檔案1中的注釋。
注釋型別:以//開頭或者/**/中的注釋。用乙個函式完成該功能。
基本要求:假設//或者/**/不會出現在printf語句中。
高階要求:要能處理printf中的//或者/**/
練習目的:練習檔案的基本操作
//klkl//kk;;l/*l;;l*/
/*klklk/*k;k;l
lklkl*/
/*klklkl//klklkl*/
/*上述紅色字型部分都是注釋
*/
main()
乙個個字元讀取判斷,不然。。讀整行判斷挺麻煩的。
#includeintmain()
;//後面的字元一直到『\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
#includeintmain()
before.c
elseif(c=='
"')//
把雙引號及之間的所有字元直接輸出
after.c
elseif(c=='"'
)
續行符的情況
befor.c
#includeintmain()
};return0;
}
after.c
#includeintmain()
};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。要求 ...
計導非課系列 緒言 什麼是「計導非課」系列?
計算機導論是第一門進入大學開始學習並且最早結束的一門課程,雖說很快就結束了,考試也是近在咫尺,但是計算機導論遠遠不只是一門課這麼簡單 它包含了計算機思維,作為乙個計算機新生對於計算機的認知 我們怎樣理解以後要面對的各門課程,如何像計算機一樣去理解問題,並且把它實現?這也許就是計算機導論課帶給我們的最...