此作業的要求參見[
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...