本次Turnin作業包含多個程式題,建議同學可以為這次作業先建立一個資料夾hw4,然後在該資料夾內再為每一題建立一個子資料夾,用以進行每一題的作答以及上傳。每一題的子資料夾名稱已寫於題目前方,請務必依照題目的規定建立子資料夾,例如第1題為p1、第2題為p2,餘依此類推。當我們完成某一個題目的作答後,就可以使用turnin指令將該題的答案上傳。以第1題為例,當我們在p1子資料夾裡完成作答後,就可以回到hw4資料夾,使用以下指令將其上傳:
[user@ws hw4]$ turnin▴cpp.hw4▴p1↵
當然,你也可以等到所有題目都完成後,再回到hw4資料夾,使用以下指令將所有題目都加以上傳:
[user@ws hw4]$ turnin▴cpp.hw4▴.↵
本文使用▴及↵代表空白字元與Enter換行字元,並且將使用者輸入的部份使用灰階方式
顯示。
另外,題目的執行結果中,如果出現(、)、:、;、.與,等符號,皆為英文半形!
當你完成此次作業的繳交後,可以使用turnin指令的-ls參數,查看已繳交的結果。若已經正確地依要求繳交此次作業,那麼你將可以看到類似以下的查詢結果:
[user@ws hw4]$ turnin -ls cpp.hw4 .: total 24 drwxrwx---. 2 turninman 1669401585 4096 Mar 5 20:57 p1 drwxrwx---. 2 turninman 1669401585 4096 Mar 5 20:57 p2 drwxrwx---. 2 turninman 1669401585 4096 Mar 5 20:57 p3 drwxrwx---. 2 turninman 1669401585 4096 Mar 5 20:57 p4 drwxrwx---. 2 turninman 1669401585 4096 Mar 5 20:57 p5 drwxrwx---. 2 turninman 1669401585 4096 Mar 5 20:57 p6 ./p1: total 4 -rw-rw----. 1 turninman 1669401585 4 Mar 5 20:57 sort.cpp ./p2: total 4 -rw-rw----. 1 turninman 1669401585 4 Mar 5 20:57 barchart.cpp ./p3: total 4 -rw-rw----. 1 turninman 1669401585 4 Mar 5 20:57 aggregation.cpp ./p4: total 4 -rw-rw----. 1 turninman 1669401585 4 Mar 5 20:57 score.cpp ./p5: total 4 -rw-rw----. 1 turninman 1669401585 5 Mar 5 20:57 checkAnswer.cpp ./p6: total 4 -rw-rw----. 1 turninman 1669401585 5 Mar 5 20:57 matrix.cpp [user@ws hw4]$
【注意:以上的執行結果僅供參考,包含檔案上傳的日期、時間、大小等皆會依實際情況有所不同,請自行仔細檢查是否有正確繳交。】
若是發現自己繳交錯誤的同學,也可以使用以下的指令,將此次作業所有已上傳的檔案與資料夾全部清空:
[user@ws hw2]$ turnin▴-rm▴cpp.hw4▴.↵
請設計一個C++語言的程式sort.cpp,讓使用者輸入10個整數後,進行遞減(由大到小)排序加以輸出。此題的執行結果可參考如下:
[user@ws hw]$ ./a.out↵
Please▴input▴10▴numbers:▴17▴3▴98▴99▴2▴0▴-1▴4▴221▴-10↵
The▴numbers▴are▴sorted▴as▴follows:↵
221▴99▴98▴17▴4▴3▴2▴0▴-1▴-10↵
[3:23 user@ws hw] ./a.out↵
Please▴input▴10▴numbers:▴9▴2▴1▴88▴2▴34▴2▴7▴11▴0↵
The▴numbers▴are▴sorted▴as▴follows:↵
88▴34▴11▴9▴7▴2▴2▴2▴1▴0↵
[user@ws hw]$
請設計一個C++語言的程式barchart.cpp,此程式讀入使用者輸入的7個整數(都是介於0(含)至10(含)之間的整數),並依據其值輸出長條圖。本題的執行結果可參考如下:
【注意: 第3-13行皆為程式執行時的輸出,但由於排版上無法對齊,故改以灰階方塊處理,並不是程式的輸入。同學們也可以參考課本286頁第8章習題第7題的執行結果。】
[user@ws hw]$ ./a.out↵
Please▴input▴7▴numbers:▴3▴2▴0▴4▴1▴6▴7↵
.▴.▴.▴.▴.▴.▴.↵
.▴.▴.▴.▴.▴.▴.↵
.▴.▴.▴.▴.▴.▴.↵
.▴.▴.▴.▴.▴.▴#↵
.▴.▴.▴.▴.▴#▴#↵
.▴.▴.▴.▴.▴#▴#↵
.▴.▴.▴#▴.▴#▴#↵
#▴.▴.▴#▴.▴#▴#↵
#▴#▴.▴#▴.▴#▴#↵
#▴#▴.▴#▴#▴#▴#↵
1▴2▴3▴4▴5▴6▴7↵
[user@ws hw]$
請設計一個C++語言的程式aggregation.cpp,讓使用者輸入10筆學生的成績(皆為整數)後,計算他們的平均(無條件捨棄至小數點後一位)、最高分與最低分後輸出。請特別注意,當所輸入的成績低於0分時,該成績以0分計:所輸入的成績超過100時,以100分計。此題的執行結果如下:
[user@ws hw]$ ./a.out↵
Please▴input▴10▴scores:▴189▴175▴66▴48▴90▴100▴-73▴80▴-2▴0↵
Average=58.4↵
MaxScore=100↵
MinScore=0↵
[user@ws hw]$ ./a.out↵
Please▴input▴10▴scores:▴199▴88▴77▴66▴-11▴22▴-33▴100▴155▴180↵
Average=65.3↵
MaxScore=100↵
MinScore=0↵
[user@ws hw]$
請設計一個C++語言的程式score.cpp,讓使用者輸入10筆學生的成績(皆為介於0(含)到100(含)間的整數)。請將其中最高分的6次的平均(四捨五入到整數位)加以輸出。執行結果如下:
[user@ws hw]$ ./a.out↵
Please▴input▴10▴scores:▴89▴75▴66▴48▴90▴100▴73▴79▴2▴0↵
Average(top▴6▴scores)▴=▴84↵
[user@ws hw]$ ./a.out↵
Please▴input▴10▴scores:▴66▴80▴100▴95▴90▴60▴0▴75▴90▴100↵
Average(top▴6▴scores)▴=▴93↵
[user@ws hw]$ ./a.out↵
Please▴input▴10▴scores:▴100▴100▴100▴95▴100▴100▴100▴75▴90▴100↵
Average(top▴6▴scores)▴=▴100↵
[user@ws hw]$
請設計一個C++語言的程式checkAnswer.cpp,讓使用者輸入4個數字,並在所輸入的數字沒有重複的前提下,與數字1234進行比較。若有數值與位置皆相同的數字則記為A,數值正確但位置不正確的數字則記為B,請將比較後的結果輸出。此題的執行結果可參考如下:
[user@ws hw]$ ./a.out↵
Please▴input▴a▴4-digits▴number:▴2314↵
Checking▴a▴Result:▴1A3B↵
[user@ws hw]$ ./a.out↵
Please▴input▴a▴4-digits▴number:▴3456↵
Checking▴a▴Result:▴0A2B↵
[user@ws hw]$ ./a.out↵
Please▴input▴a▴4-digits▴number:▴0456↵
Checking▴a▴Result:▴0A1B↵
[user@ws hw]$ ./a.out↵
Please▴input▴a▴4-digits▴number:▴3222↵
Duplicated▴Input!↵
[user@ws hw]$
請設計一個C++語言的程式matrix.cpp,接收 n 個整數(1 ≤ n ≤ 100),將這些數存入陣列,並計算:
使用者輸入格式:
第一行輸入一個正整數 n(表示有多少個整數,此題假設n>1)。
第二行輸入 n 個整數(每個數的範圍:-1000 ≤ i ≤ 1000)。
[user@ws hw]$ ./a.out↵
Please▴input▴the▴size▴of▴the▴matrix:▴5↵
Please▴input▴5▴integers:▴3▴8▴-2▴10▴1↵
Max:▴10↵
Min:▴-2↵
Difference:▴12↵
[user@ws hw]$ ./a.out↵
Please▴input▴the▴size▴of▴the▴matrix:▴4↵
Please▴input▴4▴integers:▴-5▴-10▴-2▴-8↵
Max:▴-2↵
Min:▴-10↵
Difference:▴8↵
[user@ws hw]$ ./a.out↵
Please▴input▴the▴size▴of▴the▴matrix:▴101↵
The▴size▴of▴matrix▴is▴not▴acceptable!↵
[user@ws hw]$ ./a.out↵
Please▴input▴the▴size▴of▴the▴matrix:▴4↵
Please▴input▴4▴integers:▴1001▴-10▴-2▴-8↵
One▴or▴more▴integers▴are▴out▴of▴range!↵
[user@ws hw]$