C語言II博客作業01


這個作業屬於哪個課程 https://edu.cnblogs.com/campus/zswxy/CST2020-2/
這個作業要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11757
這個作業的目標 回顧以往知識,學習文件表達
學號 20208963

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;
2.滿足條件”f(N)=N“的最大的N是多少?
要求:

1.貼出代碼圖片,寫出解題思路,列出測試數據(5分)

解題思路:

 利用循環結構和求每次循環數字的余數是否為1以此來判斷數值上的數字;
 也就是用循環法依次判斷1的數字數量
N的值 1的個數
9 1
99 20
999 200
99999 4000

2.給出不同測試數據的運算時間,如果你的運算時間不變,說明你的測試數據不夠大(5分)

3.思考針對足夠大的數據,如何減少運算時間,並給出在原有算法基礎上的改進算法和改進思路。(10分)

1,改變算法條件將算法的循環次數降低;
2,改變數值的進制,換為其他進制位數,減少字節長度;

2.2 將上題中多組測試數據寫入文件,並給出測試程序以檢測你的代碼有沒有問題,貼出你的代碼、運行結果和文件內容。(5分)

2.3 用自己的語言回答兩個問題,並給出所查閱資料的引用(10分)

1.什么是文件緩沖系統?工作原理如何?

文件緩沖系統: 用緩沖區可以一次讀入一批數據,或輸出一批數據,而不是執行一次輸入或輸出函數就去訪問一次磁盤,
這樣做的目的是減少對磁盤的實際讀寫次數
工作原理: 借助文件結構體指針來對文件進行管理,通過文件指針來對文件進行訪問,既可以讀寫字符、字符串、格式化數據,也可以讀寫二進制數據,緩沖文件系統函 
數一般是由f開頭的函數,如fopen(),fwrite(),fread()。

2.什么是文本文件和二進制文件?

 文本文件:一種計算機文件,它是一種典型的順序文件,其文件的邏輯結構又屬於流式文件。
 二進制文件:將文件以無符號整型數(BYTE)形式存盤

2.4 請給出本周學習總結(15分)

1 學習進度條(5分)

周/日期 時間 代碼行數 學習內容 備注
第一周 12小時 200 回顧以往知識,學習文件表達 不懂一些文件的存儲方式和代碼的表達內容

2 累積代碼行和博客字數(5分)

3 學習內容總結和感悟(5分)

學習內容總結:主要是回顧以前所學到的知識點,提高對各個知識點的運用能力
             其次是學習第12章的文件內容,為以后的深入學習做鋪墊。
   感悟:    進過假期的休息,由於不經常在家練習代碼,導致有些知識點出現遺忘,
            在以后的學習中要經常回顧以前的基礎知識,並且預習要學習的內容。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM