這個作業屬於哪個課程 | https://edu.cnblogs.com/campus/zswxy/CST2020-1 |
這個作業要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11753 |
我在這個課程的目標是 | 練習從文件中讀取數據並進行數據處理,學會優化代碼 |
學號 | <20208956> |
本周作業(總分:50分)
2.1 題目:給定一個十進制正整數N,寫下從1開始,到N的所有整數,然后數一下其中出現的所有“1”的個數。例如:N=2,寫下1,2。這樣只出現了1個”1“。N=12,我們會寫下1,2,3,4,5,6,7,8,9,10,11,12。這樣,1的個數是5。問題是:
1.寫出一個函數f(N),返回1到N之間出現的”1“的個數,比如f(12)=5;
測試數據:
思路:將1到N之間的數列出來,數每個數中1的個數,相加求和。
2.滿足條件”f(N)=N“的最大的N是多少?
2.2 將上題中多組測試數據寫入文件,並給出測試程序以檢測你的代碼有沒有問題,貼出你的代碼、運行結果和文件內容。(5分)
2.3 用自己的語言回答兩個問題,並給出所查閱資料的引用(10分)
1.什么是文件緩沖系統?工作原理如何?
答:
c程序對文件的處理方式、系統自動為每個文件分配一塊文件內存緩沖區,當程序向磁盤文件寫入數據時,先把數據存入緩沖區,然后由操作系統把緩沖區數據寫入磁盤。讀取也是類似過程。
2.什么是文本文件和二進制文件?
答:
文本文件只能存儲char型字符變量,二進制文件可以存儲char/int/short/long/float/……各種變量值。
文本文件每條數據通常是固定長度的,二進制文件每條數據不固定。
文本文件編輯器就可以讀寫,二進制文件需要特別的解碼器。
2.4 請給出本周學習總結(15分)
學習進度條(5分)
周/日期 | 這周所花的時間 | 代碼行 | 學到的知識點簡介 | 目前比較迷惑的問題 |
---|---|---|---|---|
第一周/3.1——3.3 | 5小時 | 200行左右 | FILE數據類型,文件操作函數,條件和逗號表達式,TIME , | 指針相關的的內容還不怎么了解,還有排序問題,目前只熟悉簡單的選擇排序 |
累積代碼行和博客字數(5分)
3 學習內容總結和感悟(5分)
答:很迷茫,看着別人寫的代碼,再看看自己的,感覺自己總是想不出好的方法,接觸的東西越多,發現c語言也越難,也越來越有趣,當一個困惑自己幾天的問題解決之后,非常開心!