C語言II 作業01

2022-06-15 15:00:13 字數 1949 閱讀 7849

這個作業屬於哪個課程

這個作業要求在**

/homework/11756

這個作業的目標

回顧資料型別和表示式並學習十二章「檔案」

學號20209212

因為要從 1 一直數到 輸入的「n」其中的所有的1,所以第一想到的是用for迴圈,可以準確的將所有要數的數列出來,然後開始數出現的1的個數。

數十位或者百位上的1都是乙個個數,數完要數下一位數,所以我用到了while迴圈,在函式中我用「solo」表示單獨位數上面的數字,然後判斷是否等於1,用「rest」賦予「solo」個位的數,然後除以10,再將個位去掉後剩下的(rest)賦給新的rest,當全部數完後「rest」會變成0,最後退出while迴圈。

測試資料

運算時間

運算結果

101.322s

2100

1.914s

2110000

2.151s

301100000

2.502s

4001

99999

4,711s

50000

答:① 如何減少運算時間 關於這個我在搜狗上面查到了一些資料 「程式設計中如何減少運算時間」

(雖然很多看不懂)看完這篇文章,對於此題我的**來說我認為可以選擇用復合語句來將**化簡,迴圈上選擇do-while代替while迴圈,因為do-while迴圈更快。

② 給出在原有演算法基礎上的改進演算法和改進思路: 之前在函式while迴圈中用到了if-else來判斷是否等於1,然後再將「rest」除以10,所以**行長了,後來我將else去掉,把if判斷放在了最後,所以少了乙個「rest/=10」,

因為易理解所以我選擇了while迴圈,為了減少運算時間,應該改為do-while迴圈。

最大的n==1。。。(看出來的?)

使用檔案緩衝系統可以大大提高檔案操作的速度。系統自動地在記憶體區為每乙個正在使用的檔案開闢乙個緩衝

區。從磁碟向記憶體讀入資料時,則一次從磁碟檔案將一些資料輸入到記憶體緩衝區(充滿緩

沖區),然後再從緩衝區逐個地將資料送給接收變數;向磁碟檔案輸出資料時,先將資料

送到記憶體中的緩衝區,裝滿緩衝區後才一起送到磁碟去。

答:系統自動為每個正在使用的檔案在記憶體中開闢了一塊緩衝區,從記憶體向磁碟檔案寫入的資料必須先送到記憶體中這個緩衝區,直到這個緩衝區裝滿之後,才把其中的資料一起送到磁碟上的檔案中

答:檔案的內容由文字構成(微笑)

周/日期

這周花的時間

**行數

學到的知識簡介

目前比較困惑的問題

第一周一天

80如何讀取檔案

如何讀取檔案

1.現在是最主要的學習方式就是自學,然而對於我來說 == 「不用學」。

2.悄悄看了看其他同學的作業,發現我的**和他們比起來就是「小學生」,我還在用之前老師教過的內容(微笑),看完他們的**後---「原來還可以這麼寫...這麼簡單??...這是什麼語法??...」

C語言II 作業01

這個作業屬於哪個課程 這個作業要求在 homework 11756 這個作業的目標 回顧資料型別和表示式並學習十二章 檔案 學號20209202 例如 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

這個作業屬於哪個課程 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,我們會...