C語言II部落格作業01

2022-06-20 14:57:18 字數 2138 閱讀 3985

這個作業屬於哪個課程

這個作業要求在**

homework/11769

這個作業的目標

《回顧資料型別和表示式,並結合檔案相關知識複習》

學號<20209146>

第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是多少?

要求:1.貼出**,寫出解題思路,列出測試資料(5分)

解題思路:使用迴圈語句,輸入乙個數,從1到這個數依次除以10取餘,看其是否等於1,如果等於1,則count加1,如果是三位數及其以上則再將這個數除於10。時間的話,就使用相關函式。

測試資料:

輸入資料

1100

123890

1160

1234

輸出資料121

57279

558689

輸入資料

輸出資料

執行時間11

0.003s

12357

0.008s

890279

0.012s

1160

5580.029s

1234

6990.045s

如何在原有演算法基礎上的改進演算法和改進思路:

1.首先,我們可以從資料型別改起,不同的資料型別所運算的時間是有很大的不同的,像long long int的運算時間就比long int的要長,long int 的運算時間就比int型別的運算時間要長,所以,在資料可以容納的情況下我們可以盡量用比較小的資料型別。

2.然後是迴圈,越多的迴圈巢狀運算的時間越久,我們可以優化迴圈,儘量減少迴圈的巢狀,優化**。

滿足條件」f(n)=n「的最大的n是:1111111110。

檔案緩衝系統:

為了提高資料訪問訪問的效率,c程式對檔案的處理採用緩衝檔案系統的方式進行。根據檔案緩衝的特性,把檔案系統分為緩衝檔案系統與非緩衝檔案系統,對於緩衝檔案系統,在進行檔案操作時,系統自動為每乙個檔案分配一塊檔案記憶體緩衝區(記憶體單元),當程式要向磁碟檔案寫入資料時,先把資料存入緩衝區,然後再由作業系統把緩衝區的資料真正存入磁碟。檔案緩衝區不是由系統自動分配,而需要程式設計者在程式中c語句實現分配。

工作原理:

緩衝檔案系統規定磁碟與記憶體緩衝區之間的互動由作業系統自動完成,緩衝檔案系統將會自動在記憶體中為被操作的檔案開闢一塊連續的記憶體單元(如12gb)作為檔案緩衝區。當要把資料儲存到檔案中時 首先把資料寫入檔案緩衝區,一旦寫滿了12gb,作業系統自動把全部資料寫入磁碟乙個扇區,然後把檔案緩衝區清空,新的資料繼續寫入到檔案緩衝區,當要從檔案讀取資料時,系統首先自動把乙個扇區的檔案匯入檔案緩衝區,供c程式逐個讀入資料,一旦12gb資料都被讀入,系統自動把乙個扇區的內容匯入檔案緩衝區,供c程式繼續讀入新資料。

二進位制檔案:

另一種種按資料儲存的編碼形式分類的資料檔案,時儲存二進位制資料的檔案,c程式的目標檔案和可執行檔案是二進位制檔案。

周/日期

這週所花的時間

**行學到的知識點簡介

目前比較迷惑的問題

1/2020.3.4

11h187

用程式設計軟體讀取文字檔案

系統時間怎樣去獲取

自己放了個寒假回來,啥都忘了,學東西都變慢了。新學的利用文字輸入資料的**認識,但是還不太理解,總之,新知識新跡象,繼續加油!

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...