Download presentation
Presentation is loading. Please wait.
1
TQC+ 物件導向程式認證-JAVA
2
TQC+物件導向程式語言認證 Java 6 第一類-基本認識 第二類-條件判斷式 第三類-迴圈 第四類-遞迴程式設計 第五類-陣列設計能力
第六類-物件導向程式設計與例外處理
3
第一類-基本認識 AWT與Swing Java簡介 區域變數 基本資料型態 字串 標準輸入輸出 運算式 型別轉換 陳述式 類別定義
4
第二類-條件判斷式 if …else switch … case
5
第三類-迴圈 while for do... While
6
第五類-陣列設計能力 陣列的產生與使用 陣列的傳遞 多維陣列
7
第六類-物件導向程式設計與例外處理 類別 實例、實例變數、實例方法 繼承 多型與多載 this super 抽象類別
Inner class、Anonymous class 介面 物件陣列 Collection函式庫 try...catch throws
8
第一類:101-字串列印 題目說明: 設計說明: (1)JD01.java所提供的程式有四處錯誤,請修改之 (2)顯示如執行結果參考畫面
請開啟檔案JPD01.java,依下列題意完成作答。將JPD01.java內的class JPD01修改為class JPA01,檔案另存成JPA01.java,並編譯為JPA01.class。 設計說明: (1)JD01.java所提供的程式有四處錯誤,請修改之 (2)顯示如執行結果參考畫面
9
第一類:101-字串列印(續) 執行結果參考畫面:
10
第一類:102-單位換算 程式執行時,畫面顯示【Please input:】,於後方由鍵盤輸入數字後,輸出轉換數值(由公斤轉換成磅數),執行結果顯示如下所示: 單位轉換公式為:1公斤等於 磅。 Please input: 15 kg = ponds
11
第一類:103-計算平均值 程式執行時,畫面顯示【Please input:】,於下方由鍵盤輸入3個整數,各整數中間空格鍵間隔,並分別存入三個整數變數。 計算這三個整數的平均值,平均值請取到小數第二位。 輸出平均值,執行結果顯示如Screen Dump
12
第一類:103-計算平均值(續) Please input: Average:
13
第一類:104-距離計算 Math套件(package)內有許多數學上常用的函數。
請使用 Math.pow 及 Math.sqrt 撰寫程式,顯示【輸入第1組的 x 和 y 座標:】,提示使用者首先輸入第一組座標(x1, y1),x 與 y 座標的輸入以一空格鍵分隔,其資料型態皆為正整數。 要求輸入第2組座標(x2, y2)。 兩組座標輸入完畢,輸出兩組座標之間的距離,執行結果顯示如 Screen Dump。
14
第一類:104-距離計算 輸入第1組的x和y座標:1 5 輸入第2組的x和y座標:10 22
介於(1.00,5.00)和(10.00,22.00)之間的距離是19.24。
15
第一類:105-存錢筒 有一位小朋友從小就開始把1元、5元、10元、50元的零用錢,投進自己的存錢筒裡。請計算出存錢筒中金錢的總額。
程式執行時,首先要求輸入姓名,顯示【請輸入您的姓名:】,顯示如 Screen Dump。 姓名輸入完畢,要求輸入銅板個數,顯示如 Screen Dump。 依序要求輸入1元、5元、10元、50元硬幣的數量,待數入完才可再顯示下一列,顯示如 Screen Dump。 金額輸入完畢,輸出總額,執行結果顯示如 Screen Dump。
16
第一類:105-存錢筒 請輸入小孩姓名:林小佳 Hi, 林小佳,請輸入你的銅板的個數: 請輸入1元的數量:80 請輸入5元的數量:70
請輸入10元的數量:55 請輸入50元的數量:38 您的錢總共有:2 千 8 百 8 十 0 元
17
第一類:106-數學函數 有一數學函數 f(x) = 3x3 + 2x - 1。
請撰寫一函數 f 用來傳回 f(x) 的值,並分別計算 f(-3.2)、f(-2.1)、f(0)、與 f(2.1)。 函數 f(x) 值取到小數第四位。 依此數學函數計算,分別輸出此四個計算值,執行畫面顯示如 Screen Dump。
18
第一類:106-數學函數 f(-3.2) = -105.7040 f(-2.1) = -32.9830 f(0) = -1.0000
19
第一類:107-運動成績 本題使用其他類別定義的類別方法 假設老師在計算運動成績的分數時,動作佔1分,技巧佔2分團隊表現佔3分。
basketball 的分數計算方式為:動作 (action) + 技巧 (skill) + 團隊表現 (teamgame):baseball 的分數計算方式為:10 + 技巧 (skill) + 團隊表現 (teamgame)。 本題內已提供 basketball 與 baseball 兩個類別及成績的計算方式,它們各有一個 calGrade 方法,請將此方法於 basketball 與 baseball 兩個類別中補上。 程式執行時直接計算成績,並輸出 basketball 及 baseball 的成績,執行結果顯示如 Screen Dump。
20
第一類:107-運動成績 The basketball grade is 6 The baseball grade is 15
21
第一類:108-覆載方法 請在同一個類別中,使用覆載 (OverLoad) 撰寫三個同樣名為 add 的方法。
宣告 main 方法,分別提供以下 a、b、c 等參數。 add(2, 3); add(5.2, 4.3); add("I love", "Java!!"); 方法一:傳入兩個整數 (int, int),計算兩整數的和 (int)。程式執行時,列出【Adding two integers: i, j】,請呼叫 main 方法中的 add(2, 3),將參數代入 i, j 內。 方法二:傳入兩個浮點數 (double, double),計算兩個浮點數的和 (double),程式執行時,列出【Adding two double: i, j】,請呼叫 main 方法中的 add(5.2, 4.3),將參數代入 i, j 內。 方法三:傳入兩字串 (String, String),計算合併後的兩個字串 (String),程式執行時,列出【Adding two string: i, j】,請呼叫 main 方法中的 add("I love", " Java!!"),將參數代入 i, j 內。 最後依序顯示此方個方法所計算出的列印值,執行結果顯示如 Screen Dump。
22
第一類:108-覆載方法 Adding two integers: 2, 3 Adding two doubles: 5.2, 4.3
Adding two strings: I love, Java!! I love Java!!
23
第一類:109-變數範圍 請依照JPD01.java所提供的程式,回傳正確值。
gameRating 函數需呼叫 adder 方法以取得正確的加總值。 adder 方法的計算方式為:skill + action + excitement。 輸出回傳的正確值,執行結果顯示如下頁所示。
24
第一類:109-變數範圍 The rating of the game is 23
25
第一類:110-圖形面積 請撰寫三個方法計算下面圖形的面積,然後輸出總面積。
假設圓的半徑 = 5,PI = ,請寫出 calCircle 函數計算圓面積。 圓面積計算公式: 半徑平方 * 園周率(PI)。
26
第一類:110-圖形面積 三角形的底 = 10,高 = 5,請寫出 calTriangle 函數計算三角形面積。
三角形面積計算公式: 底 * 高 / 2。 假設長方形的長 = 5,寬 = 10,請寫出 calRectangle 函數計算方形面積。 長方形面積計算公式: 長 * 寬。 圖形面積 = 圓面積 + 三角形面積 + 長方形面積。 執行結果如下頁所示。
27
第一類:110-圖形面積 圓形面積為:78.539815 三角形面積為:25.000000 方形面積為:50.000000
此圖形面積為:
28
第二類:201-分數篩選 請設計一程式,此程式能判斷輸入分數是否及格,程式執行時,顯示【Please enter score:】要求輸入分數。 如果使用者輸入的分數大於等於60,則輸出【You pass】。 如果使用者的分數小於60,則不做任何處裡。 最後由電腦輸出【End】代表程式結束。 重複執行兩次,執行結果如下頁所示。
29
第二類:201-分數篩選 Please enter score: 98 You pass End 45
30
第二類:202-比較大小 請設計一程式,使用者可以輸入兩個整數,並且可以比較兩個整數的大小。
程式執行時,畫面顯示【Input:】,請使用者輸入兩組整數,各組整數分別輸入兩個數字,數字中間以空隔間隔。 重複執行兩次,依輸入的兩個整數比較大小,執行結果如下頁所示。
31
第二類:202-比較大小 Input: is larger than is larger than 33
32
第二類:203-判斷奇偶數 請設計一程式,使用者可輸入一個整數,判斷此整數為奇數或偶數。
程式執行時,畫面顯示【Input an integer:】,請使用者輸入一個整數。 重複執行兩次,執行結果如下頁所示。若為奇數,顯示【The number is odd.】,若為偶數,則顯示【The number is even.】
33
第二類:203-判斷奇偶數 Input an integer: 7 The number is odd. 28 The number is even.
34
第二類:204-公倍數計算 請設計一程式,能判斷使用者所輸入的整數,是否能同時被5、9整除。
程式執行時,畫面顯示【Input:】,請使用者輸入一個整數。 計算是否能同時被5、9整除。 若此數字為5與9的公倍數,則印出【Yes】,否則印出【No】。 重複執行兩次,執行結果如下頁所示。
35
第二類:204-公倍數計算 Input: 90 Yes 70 No
36
第二類:205-倍數判斷 請設計一程式,能判斷使用者所輸入的整數,是否為2、3、6的倍數。
程式執行時,畫面顯示【Enter an integer:】,請使用者輸入一個整數。 若輸入的整數是2、3、6的倍數,請輸出此整數是2、3、6哪些整數的倍數。 若輸入的整數都不是2、3、6的倍數,請輸出【xx 不是2、3、6的倍數】,將使用者輸入的整數代入 xx 內。 重複執行四次,執行結果如下頁所示。
37
第二類:205-倍數判斷 Enter an integer: 30 30是2、3、6的倍數 2 2是2的倍數 9 9是3的倍數 77 77不是2、3、6的倍數
38
第二類:206-及格分數 請撰寫一個能輸入國文、英文、數學三科分數的程式。
程式執行時,如 Screen Dump 畫面,畫面顯示【Input Chinese score:】,請使用者輸入國文分數,再分別依序要求輸入英文,數學的分數。 將此三個分數分別存入變數之中,再判斷是否有任何一科不及格,如果任何一科不及格,則輸出該科不及格,分別顯示【科目 failed.】;如果全部都及格則輸出全部通過,顯示【All Pass.】。 重複執行四次,執行結果如下頁所示。
39
第二類:206-及格分數 Input Chinese score:80 Input English score:98 Input Math score:55 Math failed. Input Chinese score:10 Input English score:80 Input Math score:70 Chinese failed. Input Chinese score:100 Input English score:100 Input Math score:100 All pass. Input Chinese score:10 Input English score:10 Input Math score:10 Chinese failed. English failed. Math failed.
40
第二類:207-三角形邊長判斷 請寫一個判斷三角形的程式:當三個邊長能夠構成三角形時,再判斷該三角形為鈍角、銳角或是直角三角形,否則請顯示【不可以構成三角形】。 構成三角形存在條件:任兩邊相加大於第三邊,且皆不可為 0 。 直角三角形:其中有兩個邊的平方和等於第三邊的平方 鈍角三角形:其中有兩個邊的平方和小於第三邊的平方 銳角三角形:任兩邊的平方和大於第三邊的平方 程式執行時,畫面顯示【請輸入三個整數:】要求輸入三邊的邊長。 重複執行四次,執行結果如下頁所示。
41
第二類:207-三角形邊長判斷 請輸入三個整數:3 4 5 直角三角形 請輸入三個整數:3 4 6 鈍角三角形 請輸入三個整數:4 4 3 銳角三角形 請輸入三個整數:2 4 7 不可以構成三角形
42
第二類:208-分級限制 請寫出一個可以輸入學生分數,並判斷分數等級的程式。
當分數 >= 90分,等級為A,【Your grade is A】。 當分數介於90分到80分之間,例如 90分 > 分數 >= 80分,等級為B,顯示【Your grade is B】。 當分數介於80分到70分之間,例如 80分 > 分數 >= 70分,等級為C,顯示【Your grade is C】。 當分數介於70分到60分之間,例如 70分 > 分數 >= 60分,等級為D,顯示【Your grade is D】。 當分數小於60以下,例如 60分 > 分數,等級為F,顯示【Your grade is F】。 程式執行時,畫面顯示【Input:】,請使用者輸入一個整數。 重複執行五次,執行結果如下頁所示。
43
第二類:208-分級限制 Input: 92 Your grade is A 80 Your grade is B 79 Your grade is C Input: 60 Your grade is D 59 Your grade is F
44
第二類:209-象限座標 請撰寫程式,輸入 x、y 座標值,判斷該點位於何象限或是在哪個座標軸上。
程式執行時,畫面顯示【請輸入 x 座標:】要求輸入 x 座標。 ※舉例:若輸入的座標值為(3.0,-2.5),輸出【座標值+在第四象限】; 若輸入的座標值為(4.5,0.0),則輸出【座標值+在 x 軸上】。 重複執行四次,執行結果如下頁所示。
45
第二類:209-象限座標 請輸入x座標:4.5 請輸入y座標:0.0 (4.50,0.00)在x軸上 請輸入x座標:0 請輸入y座標:3.2 (0.00,3.20)在y軸上 請輸入x座標:-5.5 請輸入y座標:-3.8 (-5.50,-3.80)在第三象限 請輸入x座標:-4.3 請輸入y座標:7.2 (-4.30,7.20)在第二象限
46
第二類:210-鍵盤字元判斷 請使用switch完成編輯區中的test()的程式。
程式執行時,畫面顯示【Input a character:】,請使用者輸入一個英文字母。 若輸入 a 或 b ,顯示【You entered a or b】。 若輸入 x ,顯示【You entered x】;若輸入 y,顯示【You entered y】。 若皆非上述所列英文字母,則顯示【You entered something else.】。
47
第二類:210-鍵盤字元判斷 Input a character: a You entered a or b b x
You entered x Input a character: y You entered y c You entered something else.
48
第三類:301-整數連加 請使用 for loop 寫一個程式,輸入一個正整數 N,計算 1 + 2 + 3 ... + N 的結果。
程式執行時,顯示【Input:】要求輸入一正整數,輸入完畢,於下方計算 N的總和。 執行結果如下頁所示。
49
第三類:301-整數連加 Input: = 3916
50
第三類:302-巢狀迴圈 一個外迴圈包住一個或多個內迴圈的巢狀迴圈,每次執行外迴圈時,都會進入內迴圈,重複執行。
「假設」外迴圈重複了3次,而內迴圈重複了9次,則內迴圈內的敘述就會執行 3 * 9 次。 那麼要如何修改程式碼,會使該程式的執行結果為27? 答案顯示如下頁。
51
第三類:302-巢狀迴圈 count = 27
52
第三類:303-完美數 一個數如果恰好等於它的因數(不含數字本身)之和,這個數就稱為「完美數」。
例如 6 = ,因 1、2與3都是6的因數,因而6是完美數。 試設計一程式,找出1000以內的所有完美數。 答案顯示如下頁。
53
第三類:303-完美數 1~1000中的完美數有:
54
第三類:304-餐點費用 有五位朋友到知名美式餐廳聚餐慶生,此餐廳採點餐的計算方式。
程式執行時的結果參考下面的Screen Dump視窗,畫面顯示【Please enter meal dollars or enter -1 to stop:】,請使用者輸入第一道餐點費用,再分別依序要求輸入其他道餐點的費用。 若要停止執行程式計算,需輸入-1後停止程式計算,-1不列入餐點計算費用內。請輸出餐點數量、所有餐點的總費用及平均負擔費用,平均值取自小數第二位。 答案顯示如下頁。
55
第三類:304-餐點費用 Please enter meal dollars or enter -1 to stop: 180 Please enter meal dollars or enter -1 to stop: 120 Please enter meal dollars or enter -1 to stop: 99 Please enter meal dollars or enter -1 to stop: 399 Please enter meal dollars or enter -1 to stop: 150 Please enter meal dollars or enter -1 to stop: -1 餐點總費用:948 5 道餐點平均費用為:
56
第三類:305-迴圈階乘計算 請設計一程式計算 n 的階乘。 n 為使用者任意輸入的整數值,n值範圍介於1到10之間。
程式執行時,畫面顯示【Please enter one value:】,首先判斷 n 值是否介於1到10之間,若檢核通過,則輸出階乘計算後之數值;若沒有介於1至10之間,則顯示【Error, the value is out of range.】。 重複執行三次,答案顯示如下頁。
57
第三類:305-迴圈階乘計算 Please enter one value: 0 Error, the value is out of range. Please enter one value: 12 Please enter one value: 6 6!: 720
58
第三類:306-迴圈次方計算 請設計一個程式持續輸入兩個數 m, n,m 與 n 中間以空格鍵分隔,並以一個類別方法及 while loop 計算 m 的 n 次方,直到輸入m=999為止。 答案顯示如下頁。
59
第三類:306-迴圈次方計算 Input:
60
第三類:307-迴圈最大公因數 請設計一個程式持續輸入兩個數 m, n,m 與 n 中間以斷行分隔,並以一個類別方法及 while loop 計算 m 與 n 最大公因數,直到輸入m=999為止。 持續輸入兩個數 m、n,顯示如下頁所示,輸出此兩數的最大公因數。
61
第三類:307-迴圈最大公因數 Input: Input:
62
第三類:308-電腦週邊費用總計 David到某商場為公司購買一系列的電腦周邊設備,請以do-while計算此次購買的總費用,使「電腦費用周邊費用總計」程式正常執行。 do-while 的最大特點為:其內的 statement 至少會被執行一次。do-while 的語法如下: do { statement; ... } while (exp) 請以 do-while 計算電腦周邊消費的總和。當使用者輸入-1,即停止執行並輸出結果。 答案顯示如下頁。
63
第三類:308-電腦週邊費用總計 請輸入消費金額,或輸入-1結束:20000 請輸入消費金額,或輸入-1結束:399 請輸入消費金額,或輸入-1結束:199 請輸入消費金額,或輸入-1結束:4000 請輸入消費金額,或輸入-1結束:2000 請輸入消費金額,或輸入-1結束:-1 電腦周邊總消費:26598
64
第三類:309-迴圈倍數判斷-1 如下為 continue 之範例寫法。 class Ex02 {
public static void main(String argv[]) throws IOException { for (int i = 0; i < 4; i++) { if (i == 2) { continue; } System.out.println("i = " + i); } } } Output: i = 0 i = 1 i = 3
65
第三類:309-迴圈倍數判斷-2 請使用 continue 設計一個程式,能夠計算1到「使用者輸入的數」之中,哪些數是3的倍數或是5的倍數,而不是7的倍數。 將這些數相加後,答案顯示如下頁。 65
66
第三類:309-迴圈倍數判斷 9 Answer: 23
67
第三類:310-迴圈正偶數相加 程式執行時,畫面顯示【請輸入n的值(n>0,且為偶數):】,請使用者輸入一個正偶數。 試利用 do-while,計算 n 的總和,其中 n 為一由鍵盤輸入的正偶數,若輸入的不是正偶數,則程式會要求使用者再次輸入,直到輸入的數是正偶數為止。 答案顯示如下頁所示。
68
第三類:310-迴圈正偶數相加 請輸入 n 的值 (n > 0,且為偶數): 3 請輸入 n 的值 (n > 0,且為偶數): -2 請輸入 n 的值 (n > 0,且為偶數): =30
69
第四類:401-遞迴階乘計算 請寫一個程式輸入一個數n,使用遞迴計算n的階乘,直到n輸入的數值是999為止。
程式執行時,顯示【Input n (0 <= n <= 16):】要求輸入數值。 顯示結果如下頁。
70
第四類:401-遞迴階乘計算 Input n (0 <= n <= 16):6 6 的階乘 = 720
10 的階乘 = Input n (0 <= n <= 16):999
71
第四類:402-尾端遞迴階乘計算 尾端遞迴程式的特性是以另外傳入的參數來累計遞迴的答案。
請寫一個程式持續輸入一個數 n,請個別使用尾端遞迴及迴圈,計算 n 的階乘,直到 n輸入的數值是 999為止。 程式執行時,顯示【Input n (0 <= n <= 16):】要求輸入數值。 顯示結果如下頁。
72
第四類:402-尾端遞迴階乘計算 Input n (0 <= n <= 16):6 6 的階乘(尾端遞迴) = 720
6 的階乘(迴圈) = 720 Input n (0 <= n <= 16):8 8 的階乘(尾端遞迴) = 40320 8 的階乘(迴圈) = 40320 Input n (0 <= n <= 16):999
73
第四類:403-尾端遞迴次方計算 請寫一個程式持續輸入兩個數 m、n,使用尾端遞迴及迴圈計算 m 的 n 次方,直到 m 輸入的數值是 999 為止。 程式執行時,顯示【Input m:】要求輸入 m;輸入完畢,於下行顯示【Input n:】要求輸入 n。 顯示結果如下頁。
74
第四類:403-尾端遞迴次方計算 Input m:3 Input n:6 Ans(尾端遞迴): 729 Ans(迴圈): 729
75
第四類:404-遞迴最大公因數 請設計一個程式,持續輸入兩個數 m、n,使用遞迴計算 m 與 n 的最大公因數,直到 m 輸入的數值是 999 為止。 程式執行時,顯示【Input m: 】要求輸入 m;輸入完畢,於下行顯示 【Input n: 】要求輸入 n。 計算最大公因數,顯示結果如下頁。
76
第四類:404-遞迴最大公因數 Input m: 7 Input n: 49 最大公因數為: 7 Input m: 64
最大公因數為: 64 Input m: 15 Input n: 10 最大公因數為: 5 Input m: 999
77
第四類:405-遞迴函數 請利用下面的公式,撰寫遞迴函數 sum2: a. sum2(1) = 2
b. sum2(n) = sum2(n - 1) + 2 * n 程式執行時,顯示【Input n:】要求輸入 n (n>=1),並將 n 值代入函數中。 顯示結果如下頁。
78
第四類:405-遞迴函數 Input the number n: 50 Ans: 2550
79
第四類:406-遞迴字串計算 請使用遞迴撰寫一個類別方法,可計算一個字串內有幾個 A,大小寫有所區別。
程式執行時,顯示【Input a string: 】要求輸入字串。 連續執行兩次,結果參考如下頁,顯示【輸入的字串 has X As】。 將計算此字串內有幾個 A,代入 X 中。
80
第四類:406-遞迴字串計算 Input a string: COMPUTER SKILLS FOUNDATION
COMPUTER SKILLS FOUNDATION has 1 As Input a string: java 6 java 6 has 0 As
81
第四類:407-尾端遞迴計算總和 請使用尾端遞迴及迴圈撰寫一個類別方法,此方法能夠計算一個數字字串內所有數字的和。
程式執行時,顯示【Input a string of numbers: 】要求輸入數字字串。 連續執行兩次,結果參考如下頁,列出以「尾端遞迴」及「迴圈」 計算後之數字總和。
82
第四類:407-尾端遞迴計算總和 Input a string of numbers: 1234 尾端遞迴:10 迴圈:10
尾端遞迴:18 迴圈:18
83
第四類:408-遞迴字串反向 護使用遞迴設計一個類別方法,此方法能夠將字串反向。
程式執行時,顯示【Input a string: 】要求輸入字串。 連續執行兩次,結果參考如下頁,將字串反向印出。
84
第四類:408-遞迴字串反向 Input a string: computer retupmoc
Input a string: skills slliks
85
第四類:409-遞迴字串移除 請使用遞迴撰寫一個類別方法,此方法能夠將一個字串內的某個字元移除。
程式執行時,顯示【Input a string: 】要求輸入字串。 輸入完畢,顯示【Input a character: 】要求輸入「欲移除」的字元。 連續執行兩次,結果參考如下頁,將字元從字串中移除。
86
第四類:409-遞迴字串移除 Input a string: java se6 Input a character: a jv se6
Input a string: computer Input a character: p comuter
87
第四類:410-遞迴字串替換 請使用遞迴撰寫一個類別方法,此方法能夠將一個字串內的某個字元換成另一個字元。例如輸入字串【windows】,將字串中 w 值替換成 g 值,輸出字串為【gindogs】。 程式執行時,顯示【Input a string: 】要求輸入字串,接續顯示【Input a character: 】要求輸入「被替換」的字元,最後顯示【Input another character: 】要求輸入替換字元。 請利用 replace()函數進行字串替換,顯示結果參考如下頁。
88
第四類:410-遞迴字串替換 Input a string: windows Input a character: w
Input another character: g gindogs
89
第五類:501-陣列計算 請撰寫一程式,由鍵盤輸入 10 個整數,並存放到一陣列。
程式執行時,顯示如下頁 的參考畫面,顯示【請 輸入10個整數:】,並顯示 【第1個整數:】,要求輸入第1個整數 。 依序要求輸入第1個至第10個整數,顯示執行結果如下頁。 判斷輸入10個整數後,計算陣列中大於 60有幾個,這些大於60 的數值總合及平均值,顯示如下頁。
90
第五類:501-陣列計算 請輸入10個整數: 第1個整數:88 第2個整數:59 第3個整數:66 第4個整數:46 第5個整數:92
第6個整數:74 第7個整數:52 第8個整數:58 第9個整數:69 第10個整數:81 陣列中大於60的有6個 總合為470 平均值為
91
第五類:502-浮點數計算 請撰寫一程式,由鍵盤輸入學生的人數,根據所輸入的學生人數,動態產生一個符合大小的浮點數陣列。
將所輸入的每位學生成績存放到陣列裡(不限制輸入的小數點位數)。 程式執行時,顯示【請輸入學生人數:】,要求輸入學生人數。 接續要求輸入第1個至第n個學生的成績,n是剛才所輸入的學生人數。 計算出人數、總分及平均值(不限制小數點位數),顯示執行結果如下頁畫面。
92
第五類:502-浮點數計算 請輸入學生人數:5 第1個學生的成績:81.24 第2個學生的成績:56.14 第3個學生的成績:92.84
第4個學生的成績:42.96 第5個學生的成績:64.37 人數:5 總分:337.55 平均:
93
第五類:503-矩陣之和 試撰寫一個函數,此函數可用來計算矩陣 A 與 B 的和,使「矩陣之和」程式正常執行。 int A[][] = {{1, 2, 3}, {4, 5, 6}}; int B[][] = {{7, 8, 9}, {10, 11, 12}}; 計算矩陣 A 與 B 的和,並把相加後的結果放在矩陣 C 裡。 顯示執行結果如下頁。
94
第五類:503-矩陣之和 陣列A的內容為(2x3): 01 02 03 04 05 06 陣列B的內容為(2x3): 07 08 09
陣列A+B=C,陣列C的內容為(3x3):
95
第五類:504-費氏數 費氏數(Fibonacci sequence)可使用於建築設計,費氏數列為0、1、1、2、3、5、8、13、21、34、55、...,第一個數為0,第二個數為1,其它的數為前面兩個數的和。 請用陣列方式寫出費氏數0、1、1、2、3、5、8、13、21、34 的程式。 請事先宣告一個大小為10個整數陣列,將最前面二個陣列指定費氏數的初始值,並利用初始值來計算其餘的費氏數。 以分行方式,顯示此費氏數的前10個數值如下頁。
96
第五類:504-費氏數 1 2 3 5 8 13 21 34
97
第五類:505-反轉陣列 程式內有一陣列{“A”, “B”, “C”, “D”, “E”, “F”, “G”, “H”, “I”, “J”}。 請用陣列方式寫出反轉陣列的程式,顯示{“J”, “I”, “H”, “G”, “F”, “E”, “D”, “C”, “B”, “A”}。 執行結果如下頁。
98
第五類:505-反轉陣列 反轉陣列資料之前: A B C D E F G H I J
反轉陣列資料之後: J I H G F E D C B A
99
第五類:506-三維陣列元素之和 設陣列 A 的維度為 4×2×3,試在程式碼裡宣告此一陣列,並在宣告同時設定初值,然後計算陣列 A 內所有元素的總和(SUM)。 int A[4][2][3]={{{1,2,3},{4,5,6}}, {{7,8,9},{10,11,12}}, {{13,14,15},{16,17,18}}, {{19,20,21},{22,23,24}}}; 執行結果如下頁所顯示。
100
第五類:506-三維陣列元素之和 sum = 300
101
第五類:507-停車費用計算 請用陣列方式寫出停車費用計算的程式。 假設停車時段分為: a. 2小時以內(含2小時),每小時以30元計算。
b. 2小時以上不足4小時,每小時以50元計算。 c. 4小時以上不足6小時,每小時以80元計算。 d. 6小時以上,每小時以100元計算。 請輸入停車時數並計算出停車費用,分別計算2小時、3小時、5小時及8小時的應繳費用,顯示結果如下頁 。
102
第五類:507-停車費用計算 停車時數:2小時 應繳費用:60元整 -------------------- 停車時數:3小時
應繳費用:110元整 停車時數:5小時 應繳費用:240元整 停車時數:8小時 應繳費用:520元整
103
第五類:508-泡泡排序法 請使用泡泡排序法(Bubble Sort)撰寫程式。
程式內有一資料陣列{2, 4, 3, 5, 7, 6, 9, 1}。 請輸出泡泡排序法的比對過程。 執行結果如下頁所顯示。
104
第五類:508-泡泡排序法
105
第五類:509-選擇排序法 請使用選擇排序法(Selection Sort)撰寫程式。
程式內有一資料陣列{1, 3, 2, 5, 4, 6}。 請輸出選擇排序法的比對過程。 執行結果如下頁所顯示。
106
第五類:509-選擇排序法
107
第五類:510-二分搜尋法 程式內有已排序資料{5, 9, 13, 15, 17, 19, 25, 30, 45},請使用二分搜尋法尋找輸入的資料。 程式連續執行兩次,於程式執行時,如下頁所示,顯示【請輸入要找尋的資料:】要求輸入欲尋找的資料n。 若沒有搜尋到相符的數值,顯示【n不在陣列中】,將欲尋找的資料代入n,如下頁所示。 尋找時,列出尋找區間及此區間的中間值,搜尋幾次就列出幾項,最後產出【經過 y 次的尋找】, y代入搜尋次數;若有搜尋到相符的數值,值位在陣列中的第幾個位置,如下頁所示。
108
第五類:510-二分搜尋法 請輸入要找尋的資料:2 尋找區間:0(5)..8(45),中間:4(17)
尋找區間:0(5)..3(15),中間:1(9) 尋找區間:0(5)..0(5),中間:0(5) 經過 3 次的尋找 2不在陣列中 請輸入要找尋的資料:30 尋找區間:5(19)..8(45),中間:6(25) 尋找區間:7(30)..8(45),中間:7(30) 您要找的資料在陣列中的第7個位置
Similar presentations