宮立秋20200910 3 命令列和控制台程式設計

2022-08-11 00:45:19 字數 4183 閱讀 7887

此作業的要求參見[

1.熟悉 命令列 和 控制台/標準輸入和標準輸出

假設在當前目錄下存在應用程式 a.exe 和 檔案檔案 b.txt,

請以資料流圖並輔助以文字說明下述控制台命令的作用是什麼。(5分)

請用c語言開發應用程式d.exe,從控制台指令讀入命令列引數,並在控制台分別列印出a、b、c的值。執行效果形如下面的示例

7 }執行效果:

2.熟悉 測試用例

(1)請在** [註冊賬號。(0分)

(2)在題目集 pat (basic level) practice (中文) 中任選3道題目完成。截圖如下,要求包括1.紅色對號、2.標號、3.使用者名稱(此例中為 young)。(30分)

注意,需要讀完本作業全部題目才能開始做題,有對時間記錄和**解讀的要求。

題目一:

卡拉茲(callatz)猜想:

對任何乙個正整數 n,如果它是偶數,那麼把它砍掉一半;如果它是奇數,那麼把 (3n+1) 砍掉一半。這樣一直反覆砍下去,最後一定在某一步得到 n=1。卡拉茲在 1950 年的世界數學家大會上公布了這個猜想,傳說當時耶魯大學師生齊動員,拼命想證明這個貌似很傻很天真的命題,結果鬧得學生們無心學業,一心只證 (3n+1),以至於有人說這是乙個陰謀,卡拉茲是在蓄意延緩美國數學界教學與科研的進展……

我們今天的題目不是證明卡拉茲猜想,而是對給定的任一不超過 1000 的正整數 n,簡單地數一下,需要多少步(砍幾下)才能得到 n=1?

輸入格式:

每個測試輸入包含 1 個測試用例,即給出正整數 n 的值。

輸出格式:

輸出從 n 計算到 1 需要的步數。

**: 

1 #include 2

intmain()

11else15}

16 printf("%d"

,count);

17 }

執行結果:

重點:1要記得count在奇數偶數的時候都是自增的。

題目二:

讓我們用字母b來表示「百」、字母s表示「十」,用12...n來表示不為零的個位數字n(<10),換個格式來輸出任乙個不超過 3 位的正整數。例如234應該被輸出為bbsss1234,因為它有 2 個「百」、3 個「十」、以及個位的 4。

每個測試輸入包含 1 個測試用例,給出正整數 n(

每個測試用例的輸出佔一行,用規定的格式輸出 n。

**:

1 #include2

intmain()

11for(j=0;j)

14for(k=1;k<=g;k++)

17 }

執行結果:

重點:1進行按位拆分

2在個位的時候的起始變數和輸出

題目三:

讀入 n(>)名學生的姓名、學號、成績,分別輸出成績最高和成績最低學生的姓名和學號。

每個測試輸入包含 1 個測試用例,格式為

第 1 行:正整數 n

第 2 行:第 1 個學生的姓名 學號 成績

第 3 行:第 2 個學生的姓名 學號 成績

... ... ...

第 n+1 行:第 n 個學生的姓名 學號 成績

其中姓名學號均為不超過 10 個字元的字串,成績為 0 到 100 之間的乙個整數,這裡保證在一組測試用例中沒有兩個學生的成績是相同的。

對每個測試用例輸出 2 行,第 1 行是成績最高學生的姓名和學號,第 2 行是成績最低學生的姓名和學號,字串間有 1 空格。

**:

1 #include2 #include3

struct

stdinformation4;

9int

main()

18 max = min = (stdinformation[0

]);19

for (int i = 1; i < stdsum; i++)

2024

if (min.garde > (stdinformation + i)->garde) 27}

28 printf("

%s %s\n

", max.name, max.number);

29 printf("

%s %s\n

", min.name, min.number);

30 }

執行結果:

重點:1對結構體成員和變數的掌握

2輸出最大值最小值的**

(3)**解讀 (20分)

發表部落格,介紹上述3個題目**中重點/難點,展示重要**片斷,給出執行效果截圖,展示你感覺得意、突破、困難的地方。

**片斷要求1 凡不縮排的,此題目拒絕接收。不知道什麼是「縮排」的同學,請自行補課,不接受以「不知道」作為理由。

**片斷要求2 要求使用cnblogs**控制項,參見往屆同學黃興、宮成榮的作業。凡貼上ide中的**截圖,或者貼文字而沒有關鍵字高亮或彩色的,0分。

[

[

(4)控制台應用 (15分)

要求在部落格中給出測試資料。

參照上一題中「控制台」的知識,給出執行時從控制台讀入測試資料和向控制台輸出的截圖。

圖表過小、字跡不清、錯別字、句子不通順的,教師會因為讀不懂而對此題扣分。

(4) psp(8分)

在同一篇部落格中,參照教材第35頁表2-2和表2-3,為上述3個題目製作psp階段**。

psp階段**第1列分類,如功能1、功能2、測試功能1等。

要求1 估算你對每個功能 (或/和子功能)的預計花費時間,填入psp階段**,時間顆粒度為分鐘。

要求2 記錄詞頻統計專案實際花費時間,填入psp階段**,時間顆粒度要求分鐘。

要求3 對比要求1和要求2中每項時間花費的差距,分析原因。

psp:

題目預計花費時間

實際花費時間

預計減去實際的時間

原因題目一

3024

6只在奇數中count自加,偶數中沒有,導致結果不對

題目二20119

第二題比較簡單,直接就做出來了,省了一些時間

題目三30

4717

第三題剛開始有思路,但是不知道如何去寫,結構體中成員變數的引用搞不清楚了,參考了網上的答案,在寫的時候也有一些小錯誤,比如.總是忘記加,;也會有落下的,除錯了好一會。

20200910 3 命令列和控制台程式設計

此作業的要求參見 1.熟悉命令列和控制台 標準輸入和標準輸出 假設在當前目錄下存在應用程式 a.exe 和 文字檔案 b.txt,請以資料流圖並輔助以文字說明下述控制台命令的作用是什麼。a.exe c.txt 作用 將檔案b中的內容輸入到應用程式a中,應用程式a執行處理後將所得結果輸出儲存到檔案c中...

20200910 3命令列和控制台程式設計

作業要求參見 1.熟悉 命令列 和 控制台 標準輸入和標準輸出 假設在當前目錄下存在應用程式 a.exe 和 檔案檔案 b.txt,請以資料流圖並輔助以文字說明下述控制台命令的作用是什麼。5分 作用 將檔案b.txt輸入到程式a中,程式a再將輸出到檔案c.txt中儲存。請用c語言開發應用程式d.ex...

20200910 3命令列和控制台程式設計 作業提交

作業要求參見 1.熟悉 命令列 和 控制台 標準輸入和標準輸出 假設在當前目錄下存在應用程式 a.exe 和 檔案檔案 b.txt,請以資料流圖並輔助以文字說明下述控制台命令的作用是什麼。5分 作用 將b.txt中的資料輸入到a.exe程式中執行,最後輸出到c.txt中。請用c語言開發應用程式d.e...