第二次寒假做業

2019第二次寒假做業

學習視頻課程筆記地址:html

筆記git

熱身題:github

思路:
經過fopen 打開兩個文件進行讀與寫
經過循環 應用getc來讀入字符 fputc來寫入字符
過程及結果:

數組

成功讀入函數

熱身題代碼地址學習

基本題:
思路:視頻

讀取方式與熱身題相同。
我運用的是c語言的結構體。首先我是把Reques中的數據讀入我構建的結構體並記錄發送者數量,經過嵌套循環,經過strcmp函數判斷是不是同個用戶,將同個用戶的請求值求和,並把請求值之和大於1500的用戶提出來,並判斷是否重複,若是不重複便將利用strcpy函數將其複製給另外一個結構體數組,並記錄黑客數量,最後分別輸出黑客數量與名字。
結果:
htm

基本題代碼地址blog

開放題:內存

吐槽:
1、首先須要把全部請求和信息存在下來 耗時耗內存
2、此題狀況特殊:
發送者名字均爲四個字符 若是不限制名字字符個數 再用這種方法 這道題會更加麻煩
並且這次數量並不大 我程序中計算過 只有一萬多個 若是數量再大點 統計的無效信息不少 將耗費不少時間與內存
該題本着另可錯殺一千也不放過一個,因此該方法準確率不高

解決方案:
本題方法是經過統計請求值總值,我認爲能夠經過統計同個用戶的請求次數,通常真正客戶不會短期內給你發送屢次請求,通常是在一次請求內概述了他的需求,
若是短期發送次數過多,能夠大體肯定是黑客。若是用戶發送的信息大例如超過1500,並不能肯定他就是黑客,若是是由於他需求多呢,所以經過此方法能夠提升準確率

優勢:相對於經過計算請求值總值提升了準確率
缺點:在內存和耗時方面沒有較大提升

實現:暫時未實現,我以爲單用c語言的話改變應該不大,若是學習的新的語言能夠嘗試改進

相關文章
相關標籤/搜索