--- title : iTSA 線上題庫 - 基礎題目 tags : 大學雜物 description : iTSA 線上題庫 - 基礎題目 --- 題庫連結:[iTSA 線上題庫 - 基礎題目](https://e-tutor.itsa.org.tw/e-Tutor/) :::info **二進制轉換** * 負數轉正數:-num + 256 **複數運算** * 加:a + c, b + d * 減:a - c, b - d * 乘:a * c - b * d, b * c + a * d * 除:(a * c + b * d) / (c ^ 2 + d ^ 2), (b * c - a * d) / (c ^ 2 + d ^ 2) ::: | 方法| 說明 | | --- | --- | | str1.equals(str2) | str1 = str2 | | str.charAt(index) | str -> char | | str.substring(begin, end) | 返回開始到結束間的子字串 | | str.trim() | 清除字串前後空格 | | BigInteger | 大整數 | | BigNum1.add(BigNum2) | BigNum1 + BigNum2 | | Math.max(num1, num2) | 回傳兩者的最大值 | | Math.min(num1, num2) | 回傳兩者的最小值 | ## 題目1. 矩陣數字顯示 ```java import java.util.Scanner; public class Q1 { static String[] star = { "***** ", "* * ", "* ", " * " }; public static void s1 (String[] n) { for (String i : n) { switch (i) { case "0", "2", "3", "5", "6", "7", "8", "9" -> System.out.print(star[0]); case "1" -> System.out.print(star[3]); case "4" -> System.out.print(star[1]); } } System.out.println(); } public static void s2 (String[] n) { for (String i : n) { switch (i) { case "0", "4", "8", "9" -> System.out.print(star[1]); case "1", "2", "3", "7" -> System.out.print(star[3]); case "5", "6" -> System.out.print(star[2]); } } System.out.println(); } public static void s3 (String[] n) { for (String i : n) { switch (i) { case "0" -> System.out.print(star[1]); case "1", "7" -> System.out.print(star[3]); case "2", "3", "4", "5", "6", "8", "9" -> System.out.print(star[0]); } } System.out.println(); } public static void s4 (String[] n) { for (String i : n) { switch (i) { case "0", "6", "8" -> System.out.print(star[1]); case "1", "3", "4", "5", "7", "9" -> System.out.print(star[3]); case "2" -> System.out.print(star[2]); } } System.out.println(); } public static void s5 (String[] n) { for (String i : n) { switch (i) { case "0", "2", "3", "5", "6", "8" -> System.out.print(star[0]); case "1", "4", "7", "9" -> System.out.print(star[3]); } } System.out.println(); } public static void main (String[] args) { Scanner sc = new Scanner(System.in); String[] n = sc.nextLine().split(""); s1(n); s2(n); s3(n); s4(n); s5(n); sc.close(); } } ``` ## 題目2. 英哩轉公里 ```java import java.util.Scanner; public class Q2 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); double m = sc.nextInt() * 1.6; System.out.printf("%.1f\n", m); sc.close(); } } ``` ## 題目3. 判斷座標是否在圓形的範圍內 ```java import java.util.Scanner; public class Q3 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int x = sc.nextInt(); int y = sc.nextInt(); System.out.println(x * x + y + y > 10000 ? "outside" : "inside"); sc.close(); } } ``` ## 題目4. 停車費計算 ```java import java.util.Scanner; public class Q4 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int s = sc.nextInt() * 60 + sc.nextInt(); int t = sc.nextInt() * 60 + sc.nextInt() - s; int m = 0; if (30 <= t && t < 120) { m = t / 30 * 30; } else if (120 <= t && t < 240) { m = 120 + ((t - 120) / 30 * 40); } else if (240 <= t) { m = 280 + ((t - 240) / 30 * 60); } else { m = 0; } System.out.println(m); sc.close(); } } ``` ## 題目5. 十進制轉二進制 ```java import java.util.Scanner; public class Q5 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); String ans = ""; n = n < 0 ? n + 256 : n; while (n > 0) { ans = n % 2 + ans; n /= 2; } int l = ans.length(); for (int i = 0; i < 8 - l; i ++) { ans = 0 + ans; } System.out.println(ans); sc.close(); } } ``` ## 題目6. 季節判定 ```java import java.util.Scanner; public class Q6 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); switch (sc.nextInt() / 3) { case 1 -> System.out.print("Spring"); case 2 -> System.out.print("Summer"); case 3 -> System.out.print("Autumn"); default -> System.out.print("Winter"); } sc.close(); } } ``` ## 題目7. 複數運算 ```java import java.util.Scanner; public class Q7 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); for (int i = 0; i < sc.nextInt(); i ++) { String op = sc.next(); int a = sc.nextInt(); int b = sc.nextInt(); int c = sc.nextInt(); int d = sc.nextInt(); switch (op) { case "+" -> System.out.printf("%s %s\n", a + c, b + d); case "-" -> System.out.printf("%s %s\n", a - c, b - d); case "*" -> System.out.printf("%s %s\n", a * c - b * d, b * c + a * d); case "/" -> System.out.printf("%s %s\n", (a * c + b * d) / (c * c + d * d), (b * c - a * d) / (c * c + d * d)); } } sc.close(); } } ``` ## 題目8. 質數判別 ```java import java.util.Scanner; public class Q8 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); boolean f = true; for (int i = 2; i < n; i ++) { if (n % i == 0) { f = false; break; } } System.out.println(f ? "YES" : "NO"); sc.close(); } } ``` ## 題目9. 計算正整數被3整除之數值之總和 ```java import java.util.Scanner; public class Q9 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int sum = 0; for (int i = 1; i <= n; i ++) { if (i % 3 == 0) { sum += i; } } System.out.println(sum); sc.close(); } } ``` ## 題目10. 輾轉相除法 ```java import java.util.Scanner; public class Q10 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); int t = 0; while (b != 0) { t = b; b = a % b; a = t; } System.out.println(t); sc.close(); } } ``` ## 題目11. 矩陣反轉 ```java import java.util.Scanner; public class Q11 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int h = sc.nextInt(); int l = sc.nextInt(); int[][] arr = new int[h][l]; for (int i = 0; i < h; i ++) { for (int j = 0; j < l; j ++) { arr[i][j] = sc.nextInt(); } } for (int i = 0; i < l; i ++) { for (int j = 0; j < h; j ++) { System.out.print(arr[j][i] + " "); } System.out.println(); } sc.close(); } } ``` ## 題目12. 遞迴程式練習 ```java import java.util.Scanner; public class Q12 { public static int f (int n) { return n > 1 ? f(n - 1) + f(n / 2) : n + 1; } public static void main (String[] args) { Scanner sc = new Scanner(System.in); System.out.print(f(sc.nextInt())); sc.close(); } } ``` ## 題目13. 撲克牌大小 ```java import java.util.*; public class Q13 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int n = Integer.parseInt(sc.nextLine()); String[] ans = new String[n]; for (int i = 0; i < n ; i ++) { ans[i] = ""; } for (int i = 0; i < n; i ++) { String[] arr = sc.nextLine().split(" "); String[][] card = new String[2][arr.length]; for (int j = 0; j < arr.length; j ++) { card[0][j] = arr[j].substring(0, 1); card[1][j] = arr[j].substring(1); } for (int j = 0; j < arr.length; j ++) { for (int k = 0; k < arr.length; k ++) { char a = card[0][k].charAt(0); char b = card[0][j].charAt(0); if (a > b || a == b && Integer.parseInt(card[1][k]) > Integer.parseInt(card[1][j])) { String t1 = card[0][k]; String t2 = card[1][k]; card[0][k] = card[0][j]; card[0][j] = t1; card[1][k] = card[1][j]; card[1][j] = t2; } } } for (int j = arr.length - 1; j >= 0; j --) { ans[i] += String.format("%s%s ", card[0][j], card[1][j]); } } for (String i : ans) { System.out.println(i.trim()); } sc.close(); } } ``` ## 題目14. 判斷是否為迴文 ```java import java.util.Scanner; public class Q14 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); String a = sc.next(); String b = ""; for (String i : a.split("")) { b = i + b; } System.out.println(a.equals(b) ? "YES" : "NO"); sc.close(); } } ``` ## 題目15. 文字及字母出現次數 ```java import java.util.Scanner; public class Q15 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); String[] s = sc.nextLine().toLowerCase().split(", |,|\\.| "); int[] ans = new int[26]; for (String i : s) { for (int j = 0; j < i.length(); j ++) { ans[i.charAt(j) - 'a'] ++; } } System.out.println(s.length); for (int i = 0; i < 26; i ++) { if (ans[i] != 0) { System.out.printf("%c : %d\n", i + 'a', ans[i]); } } sc.close(); } } ``` ## 題目16. 子字串出現次數 ```java import java.util.Scanner; public class Q16 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); String k = sc.next(); String s = sc.next().toLowerCase(); int ans = 0; for (int i = 0; i <= s.length() - k.length(); i ++) { if (k.equals(s.substring(0 + i, k.length() + i))) { ans ++; } } System.out.println(ans); sc.close(); } } ``` ## 題目17. 英文斷詞 ```java import java.util.Scanner; public class Q17 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); String[] s = sc.nextLine().toLowerCase().split(" "); String ans = ""; for (int i = 0; i < s.length; i ++) { Boolean flag = true; for (String t : ans.split(" ")) { if (s[i].equals(t)) { flag = false; break; } } if (flag) { ans += s[i] + " "; } } System.out.println(ans.trim()); sc.close(); } } ``` ## 題目18. QWERTY ```java import java.util.Scanner; public class Q18 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); String[] k = sc.nextLine().toLowerCase().split(""); String[] d = "`1234567890-==~!@#$%^&*()_++qwertyuiop[]\\\\{}||asdfghjkl;'':\"\"zxcvbnm,.//<>?? ".split(""); String ans = ""; for (String i : k) { for (int j = 0; j < d.length; j ++) { if (d[j].equals(i)) { ans += d[j + 1]; break; } } } System.out.println(ans); sc.close(); } } ``` ## 題目19. 最少派車數 ```java import java.util.Scanner; public class Q19 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] t = new int[24]; for (int i = 0; i < n; i ++) { int a = sc.nextInt(); int b = sc.nextInt(); for (int j = a - 1; j < b - 1; j ++) { t[j] ++; } } n = 0; for (int i : t) { n = Math.max(n, i); } System.out.println(n); sc.close(); } } ``` ## 題目20. 大整數加法 ```java import java.util.Scanner; import java.math.BigInteger; public class Q20 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); BigInteger[] b = new BigInteger[n]; for (int i = 0; i < n; i ++) { b[i] = sc.nextBigInteger().add(sc.nextBigInteger()); } for (BigInteger i : b) { System.out.println(i); } sc.close(); } } ``` ## 題目21. 最大值與最小值 ```java import java.util.Scanner; public class Q21 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); float max = sc.nextFloat(); float min = max; for (int i = 0; i < 9; i ++) { float n = sc.nextFloat(); max = Math.max(max, n); min = Math.min(min, n); } System.out.printf("maximum:%.2f\nminimum:%.2f\n", max, min); sc.close(); } } ``` ## 題目22. 圈圈叉叉 ```java import java.util.Scanner; public class Q22 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int[][] n = new int[3][3]; for (int i = 0; i < 3; i ++) { for (int j = 0; j < 3; j ++) { n[i][j] = sc.nextInt(); } } int i = 0; while (i < 3) { if (n[i][0] == n[i][1] && n[i][1] == n[i][2]) { break; } else if (n[0][i] == n[1][i] && n[1][i] == n[2][i]) { break; } i ++; } if (i == 3) { if (n[0][0] == n[1][1] && n[1][1] == n[2][2]) { System.out.println("True"); } else if (n[2][0] == n[1][1] && n[1][1] == n[0][2]) { System.out.println("True"); } else { System.out.println("False"); } } else { System.out.println("True"); } sc.close(); } } ``` ## 題目23. 找零錢問題 ```java import java.util.Scanner; public class Q23 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); String[] s = sc.next().split(","); int n = Integer.parseInt(s[0]); int t = Integer.parseInt(s[1]) * 15 + Integer.parseInt(s[2]) * 20 + Integer.parseInt(s[3]) * 30; if (t < n) { n -= t; System.out.printf("%d,%d,%d\n", n % 50 % 5, n % 50 / 5, n / 50); } else { System.out.println("0"); } sc.close(); } } ``` ## 題目24. 計算複利 ```java import java.util.Scanner; public class Q24 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); double r = sc.nextFloat(); double sum = 0; long n = sc.nextInt(); long p = sc.nextInt(); for (int i = 0; i < n; i ++) { sum += p; sum *= 1 + r; } System.out.printf("%.0f\n", sum); sc.close(); } } ``` ```java import java.math.*; import java.util.Scanner; public class Q24 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); BigDecimal sum = new BigDecimal("0"); BigDecimal r = sc.nextBigDecimal(); int n = sc.nextInt(); BigDecimal p = sc.nextBigDecimal(); for (int i = 0; i < n; i ++) { sum = (sum.add(p)).multiply(r.add(new BigDecimal("1"))); } System.out.println(sum.toBigInteger()); sc.close(); } } ``` ## 題目25. 字串之編碼數值總和 ```java import java.util.Scanner; public class Q25 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int n = Integer.parseInt(sc.nextLine()); int[] ans = new int[n]; for (int i = 0; i < n; i ++) { String s = sc.nextLine(); for (int j = 0; j < s.length(); j ++) { ans[i] += s.charAt(j); } } for (int i : ans) { System.out.println(i); } sc.close(); } } ``` ## 題目26. 各位數和排序 ```java import java.util.Scanner; public class Q26 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[][] arr = new int[2][n]; String ans = ""; for (int i = 0; i < n; i ++) { arr[0][i] = sc.nextInt(); for (int j = arr[0][i]; j != 0; j /= 10) { arr[1][i] += j % 10; } } for (int i = 0; i < n; i ++) { for (int j = 0; j < n; j ++) { if (arr[1][i] < arr[1][j] || arr[1][i] == arr[1][j] && arr[0][i] < arr[0][j]) { int t1 = arr[0][j]; int t2 = arr[1][j]; arr[0][j] = arr[0][i]; arr[0][i] = t1; arr[1][j] = arr[1][i]; arr[1][i] = t2; } } } for (int i : arr[0]) { ans += i + " "; } System.out.println(ans.trim()); sc.close(); } } ``` ## 題目27. 猜數字 ```java import java.util.Scanner; public class Q27 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); String[] ans = sc.next().split(""); String s = sc.next(); while (!"0000".equals(s)) { String[] n = s.split(""); int a = 0; int b = 0; for (String i : n) { for (String j : ans) { if (i.equals(j)) { b ++; } } } if (b != 0) { for (int i = 0; i < ans.length; i ++) { if (n[i].equals(ans[i])) { a ++; b --; } } } System.out.printf("%sA%sB\n", a, b); s = sc.next(); } sc.close(); } } ``` ## 題目28. 統一發票對獎 ```java import java.util.Scanner; public class Q28 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int[] ans = new int[7]; int sum = 0; String s = ""; int t = sc.nextInt(); int[] h = new int[] { sc.nextInt(), sc.nextInt(), sc.nextInt() }; int n = sc.nextInt(); for (int i = 0; i < n; i ++) { int num = sc.nextInt(); if (num == t) { ans[0] ++; sum += 2000000; } for (int j : h) { if (num == j) { ans[1] ++; sum += 200000; } else if (num % 10000000 == j % 10000000) { ans[2] ++; sum += 40000; } else if (num % 1000000 == j % 1000000) { ans[3] ++; sum += 10000; } else if (num % 100000 == j % 100000) { ans[4] ++; sum += 4000; } else if (num % 10000 == j % 10000) { ans[5] ++; sum += 1000; } else if (num % 1000 == j % 1000) { ans[6] ++; sum += 200; } } } for (int i : ans) { s += i + " "; } System.out.printf("%s\n%d", s.trim(), sum); sc.close(); } } ``` ## 題目29. 身分證驗證器 ```java import java.util.Scanner; public class Q29 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); String[] a = new String[] { "A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", "N", "P", "Q", "R", "S", "T", "U", "V", "X", "Y", "W", "Z", "I", "O" }; String s = sc.next(); int[] x = new int[2]; int ans; for (int i = 0; i < a.length; i ++) { if (a[i].equals(s.substring(0, 1))) { x[0] = (i + 10) / 10; x[1] = (i + 10) % 10; break; } } int j = 8; ans = x[0] + 9 * x[1]; for (int i = 1; i < s.length(); i ++) { ans += (s.charAt(i) - '0') * j; j -= j > 1 ? 1 : 0; } System.out.println(ans % 10 == 0 ? "CORRECT!!!" : "WRONG!!!"); sc.close(); } } ``` ## 題目30. 星座查詢 ```java import java.util.Scanner; public class Q30 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int m = sc.nextInt(); int d = sc.nextInt(); switch (m) { case 1 -> System.out.println(d >= 21 ? "Aquarius" : "Capricorn"); case 2 -> System.out.println(d >= 19 ? "Pisces" : "Aquarius"); case 3 -> System.out.println(d >= 21 ? "Aries" : "Pisces"); case 4 -> System.out.println(d >= 21 ? "Taurus" : "Aries"); case 5 -> System.out.println(d >= 22 ? "Gemini" : "Taurus"); case 6 -> System.out.println(d >= 22 ? "Cancer" : "Gemini"); case 7 -> System.out.println(d >= 23 ? "Leo" : "Cancer"); case 8 -> System.out.println(d >= 24 ? "Virgo" : "Leo"); case 9 -> System.out.println(d >= 24 ? "Libra" : "Virgo"); case 10 -> System.out.println(d >= 24 ? "Scorpio" : "Libra"); case 11 -> System.out.println(d >= 23 ? "Sagittarius" : "Scorpio"); case 12 -> System.out.println(d >= 22 ? "Capricorn" : "Sagittarius"); } sc.close(); } } ``` ## 題目31. 過半元素 ```java import java.util.*; public class Q31 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); String[] s = sc.nextLine().split(" "); int[][] dict = new int[2][11]; int[] n = new int[s.length]; int index = -1; int max = 0; for (int i = 0; i < s.length; i ++) { n[i] = Integer.parseInt(s[i]); } Arrays.sort(n); for (int i : n) { boolean flag = true; for (int j : dict[0]) { if (i == j) { flag = false; break; } } if (flag) { index ++; dict[0][index] = i; dict[1][index] ++; } else { dict[1][index] ++; } } for (int i : dict[1]) { max = Math.max(max, i); } for (int i = 0; i < 11; i ++) { if (dict[1][i] == max) { System.out.println(dict[1][i] > n.length / 2 ? dict[0][i] : "NO"); break; } } sc.close(); } } ``` ## 題目32. 字母往後移 ```java import java.util.Scanner; public class Q32 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); String s = sc.nextLine(); int n = sc.nextInt(); for (int i = 0; i < s.length(); i ++) { char c = s.charAt(i); if ('0' <= c && c <= '9') { c += '9' < c + n ? (char) (n - '9' + '0' - 1) : n; } else if ('A' <= c && c <= 'Z') { c += 'Z' < c + n ? (char) (n - 'Z' + 'A' - 1) : n; } else if ('a' <= c && c <= 'z') { c += 'z' < c + n ? (char) (n - 'z' + 'a' - 1) : n; } System.out.printf("%c", c); } System.out.println(); sc.close(); } } ``` ## 題目33. 一整數序列所含之整數個數及平均值 ```java import java.util.Scanner; public class Q33 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); String[] s = sc.nextLine().split(" "); float sum = 0; for (String i : s) { sum += Integer.parseInt(i); } System.out.printf("Size: %d\nAverage: %.3f\n", s.length, sum / s.length); sc.close(); } } ``` ## 題目34. 標準體重計算 ```java import java.util.Scanner; public class Q34 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int h = sc.nextInt(); int s = sc.nextInt(); System.out.printf("%.1f\n", s == 1 ? (h - 80) * 0.7 : (h - 70) * 0.6); sc.close(); } } ``` ## 題目35. 買獎品 ```java import java.util.*; public class Q35 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); String[] ans = new String[n]; for (int i = 0; i < n; i ++) { int t = sc.nextInt(); int m = sc.nextInt(); int sum = 0; int[] k = new int[sc.nextInt()]; for (int j = 0; j < k.length; j ++) { k[j] = sc.nextInt(); } Arrays.sort(k); for (int j = 0; j < m; j ++) { sum += k[j]; } ans[i] = sum > t ? "Impossible" : String.valueOf(sum); } for (String i : ans) { System.out.println(i); } sc.close(); } } ``` ## 題目36. 平、閏年判定 ```java import java.util.Scanner; public class Q36 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int y = sc.nextInt(); System.out.println(y % 4 == 0 && y % 100 != 0 || y % 400 == 0 ? "Bissextile Year" : "Common Year"); sc.close(); } } ``` ## 題目37. 18啦遊戲設計 ```java import java.util.Scanner; public class Q37 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int[] f = new int[6]; boolean flag = true; for (int i = 0; i < 4; i ++) { f[sc.nextInt() - 1] ++; } for (int i = 5; i >= 0; i --) { if (f[i] == 4 || f[i] == 2) { flag = false; System.out.println(f[i] == 4 ? "WIN" : (i + 1) * 2); break; } } if (flag) { System.out.println("R"); } sc.close(); } } ``` ## 題目38. 計算電費 ```java import java.util.Scanner; public class Q38 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int e = sc.nextInt(); double[] m = new double[2]; double[] s120 = new double[] { 120 * 2.1, 120 * 2.1 }; double[] s330 = new double[] { s120[0] + 210 * 3.02, s120[1] + 210 * 2.68 }; double[] s500 = new double[] { s330[0] + 170 * 4.39, s330[1] + 170 * 3.61 }; double[] s700 = new double[] { s500[0] + 200 * 4.97, s500[1] + 200 * 4.01 }; if (0 < e && e <= 120) { m[0] = e * 2.1; m[1] = e * 2.1; } else if (e <= 330) { m[0] = s120[0] + (e - 120) * 3.02; m[1] = s120[1] + (e - 120) * 2.68; } else if (e <= 500) { m[0] = s330[0] + (e - 330) * 4.39; m[1] = s330[1] + (e - 330) * 3.61; } else if (e <= 700) { m[0] = s500[0] + (e - 500) * 4.97; m[1] = s500[1] + (e - 500) * 4.01; } else { m[0] = s700[0] + (e - 700) * 5.63; m[1] = s700[1] + (e - 700) * 4.50; } System.out.printf("Summer months:%.2f\nNon-Summer months:%.2f\n", m[0], m[1]); sc.close(); } } ``` ## 題目39. 考試測驗 ```java import java.util.Scanner; public class Q39 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); String[] t = new String[n]; for (int i = 0; i < n; i ++) { int[] arr = new int[] { sc.nextInt(), sc.nextInt(), sc.nextInt() }; int s = 0; int sum = 0; int max = 0; for (int j : arr) { sum += j; max = Math.max(j, max); if (j >= 60) { s ++; } } if (s == 2 && sum < 220 || s == 1 && max >= 80) { t[i] = "M"; } else { t[i] = s == 3 || s == 2 && sum >= 220 ? "P" : "F"; } } for (String s : t) { System.out.println(s); } sc.close(); } } ``` ## 題目40. ISBN驗證 ```java import java.util.Scanner; public class Q40 { public static void main (String[] args) { Scanner sc = new Scanner(System.in); String[] s = sc.nextLine().split(" "); int[] n = new int[10]; int[][] t = new int[2][10]; for (int i = 0; i < s.length; i ++) { n[i] = s[i].equals("X") ? 10 : Integer.parseInt(s[i]); t[0][i] = i == 0 ? n[i] : n[i] + t[0][i - 1]; t[1][i] = i == 0 ? t[0][i] : t[0][i] + t[1][i - 1]; } System.out.println(t[1][9] % 11 == 0 ? "YES" : "NO"); sc.close(); } } ```