這個作業屬於哪個課程
這個作業要求在**
homework/11768
這個作業的目標
怎樣縮短執行時間
學號20209020
例如: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到n乙個個的提取出來判斷和統計1的個數,利用標頭檔案time.h中的clock庫函式記錄程式開始
時間和結束時間,將兩時間相減得到程式執行用時。
2.給出不同測試資料的運算時間,如果你的運算時間不變,說明你的測試資料不夠大(5分)
3.思考針對足夠大的資料,如何減少運算時間,並給出在原有演算法基礎上的改進演算法和改進思路。(10分)
要減少執行時間就得從迴圈結構入手,減少迴圈次數自然而然就減少了執行的時間。通過設定條件跳過其中不必要的迴圈,
如果十位不是1個位是1則加8可減少迴圈次數,減少執行時間。
改進演算法如圖所示:
2.2 將上題中多組測試資料寫入檔案,並給出測試程式以檢測你的**有沒有問題,貼出你的**、執行結果和檔案內容。(5分)
2.3 用自己的語言回答兩個問題,並給出所查閱資料的引用(10分)
1.什麼是檔案緩衝系統?工作原理如何?
檔案緩衝系統是系統在記憶體區為檔案開闢乙個緩衝
其工作原理是由系統的cou控制儲存。
2.什麼是文字檔案和二進位制檔案?
文字檔案是乙個以ascii碼方式儲存的檔案
二進位制檔案是由數字0,1組成的檔案
2.4 請給出本週學習總結(15分)
1 學習進度條(5分)
2 累積**行和部落格字數(5分)
3 學習內容總結和感悟(5分)
乙個新的作業完成形式讓自己能更清楚知道自己的不足
C語言II部落格作業01
這個作業屬於哪個課程 c語言程式設計 這個作業要求在 作業要求 這個作業的目標 回顧資料型別和表示式,學習檔案操作 學號20208988 例如 n 2,寫下1,2。這樣只出現了1個 1 n 12,我們會寫下1,2,3,4,5,6,7,8,9,10,11,12。這樣,1的個數是5。問題是 1.寫出乙個...
C語言II部落格作業01
這個作業屬於哪個課程 這個作業要求在 homework 11752 這個作業的目標 1.讓我們初步了解測試程式 2.讓我們了解並且學會運用檔案 3.複習之前學過的內容 學號20209154 第6章 回顧資料型別和表示式,第12章 檔案 例如 n 2,寫下1,2。這樣只出現了1個 1 n 12,我們會...
C語言II部落格作業01
這個作業屬於哪個課程 這個作業要求在 homework 11752 這個作業的目標 學習檔案,回顧資料型別和表示式,設計程式來自動輸入資料 學號 20209155 第6章 回顧資料型別和表示式,第12章 檔案 例如 n 2,寫下1,2。這樣只出現了1個 1 n 12,我們會寫下1,2,3,4,5,6...