|這個作業屬於那個課程| |
| ---- | ---- | ---- |
|這個作業要求在** |/homework/11756 |
|這個作業的目標 | 《回顧並鞏固上課知識》 |
|學號 |<20209208> |
第6章 回顧資料型別和表示式,第12章 檔案
例如: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是多少?
當n=1時滿足f(n)=n
要求:1.貼出**,寫出解題思路,列出測試資料(5分)
解題思路:這次程式自己首先想到的是把1—n的每個數裡邊的1數一遍。但這不是最有效的辦法,從2開始列舉,然後分離個位數字,如果個位數為1,那麼計數器就+1.用個臨時變數記錄i的值。
輸入資料
輸出資料
說明20
12從1到20數字1出現的個數為12次
10021
從1到100數字1出現的個數為21次
1000
301從1到1000數字1出現的個數為301次
2.給出不同測試資料的運算時間,如果你的運算時間不變,說明你的測試資料不夠大(5分)
輸入資料
輸出資料
運算時間
----
----
----
2012
1.521
10021
2.112
1000
3013.343
3.思考針對足夠大的資料,如何減少運算時間,並給出在原有演算法基礎上的改進演算法和改進思路。(10分)
改進演算法:將迴圈結構for改為do-while迴圈結構。
改進思路:優化迴圈結構
1 學習進度條(5分)
周/日期
這週所花時間
**行數
學到的知識點簡介
目前比較迷惑的問題
第一周兩天
70檔案
檔案的如何執行,以及測試程式的編寫
2 累積**行和部落格字數(5分)
3 學習內容總結和感悟(5分)
感悟:整個寒假都沒有複習,現在比較的生疏。需要努力擴充c語言知識,快點恢復狀態,從寒假的安逸中走出來。
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...