2017年4月12日 星期三

[ITSA Exam.54]Problem1. 最大值與最小值

Problem1. 最大值與最小值


import java.util.*;
import java.lang.*;
import java.io.*;
import java.lang.ArrayIndexOutOfBoundsException;

public class ex54_big_small {
public static void main(String[] args) {
int n;//1~10
float num;

Scanner sc = new Scanner(System.in);
n = sc.nextInt();
float numarr[] = new float[22];
float max = -1001;
float min = 1001;

if(n >= 1 && n <= 10 )
{
for(int j = 1; j < n+1;j++)
{
for(int i = 0; i < 10;i++)
{
num = sc.nextFloat();
if(num >-1000 && num < 1000)
{
if(num <min)
{
min = num;

}
if(num > max)
{
max = num;
}
}
}
numarr[2*j] = min;
numarr[2*j-1] = max;
max = -1001;
min = 1001;
}
}

for(int i = 1;i < n+1;i++)
{
System.out.printf("maximum:" + "%.2f", numarr[2*i-1]);
System.out.println();
System.out.printf("minimum:" + "%.2f", numarr[2*i]);
System.out.println();
}
}
}

[ITSA Basic] 題目40. ISBN驗證

[ITSA Basic] 題目40. ISBN驗證

import java.io.*;
import java.lang.NumberFormatException;

public class ISBN
{
public static void main(String[] args) throws IOException , NumberFormatException
{

String isbn ;                               //使用者輸入需要判斷的ISBN
int first = 0;                               //第一次累加每一次運算的值
int firstarr[] = new int[10];       //把first的值放入此陣列
int second = 0;                          //第二次累加每一次運算的值
int secondarr[] = new int[10];  //把second的值放入此陣列

BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
//讀檔
isbn = br.readLine();
String[] isbnSpite = isbn.split(" ");
                //用split切割String,這邊是遇到空白就切割

                //把String 轉 int
int afterConvert = 0; //從String轉成int後的值
for(int i = 0;i<isbnSpite.length;i++)
{
try
{
afterConvert = Integer.parseInt(isbnSpite[i]);
}
catch(Exception e)
{
                                //如果String不是數字,例如:X。這裡讓他等於(int)10
afterConvert = 10;
}

                        //做第一次累加
first = first + afterConvert;
firstarr[i] = first;
}

                //做第二次累加
for(int j = 0;j<secondarr.length;j++)
{
second = second + firstarr[j];
secondarr[j] = second;
}
                //如果被11整除,則YES,否則NO
if(secondarr[9] % 11 == 0)
{
System.out.println("YES");
}
else
{
System.out.println("NO");
}
}
}

2017年4月11日 星期二

[ITSA Basic] 題目22. 圈圈叉叉(Java, C++)

題目22. 圈圈叉叉

成績: 0 / 倒扣: 0.8
問題描述 :
OX 遊戲是大家小時候的童年記憶,甚至在長大後,無聊時還是會玩一下呢 ! 但當你一個人時,是否也能讓電腦跟你玩呢 ?
輸入說明 :
輸入一個 3*3 的 2 維矩陣,矩陣內容, 0 代表 O , 1 代表 X 。註:每列數字之間均有空格隔開。
輸出說明 :
輸出這場 OX 遊戲是否有勝負之分。註:輸出結尾需換行。
範例 :

輸入範例輸出範例
1 0 1
0 0 1
1 0 0
True
1 0 0
0 1 1
0 1 0
False


JAVA

  1. import java.util.*;   
  2. import java.lang.*;   
  3. import java.io.*;   
  4.  
  5. public class Main { 
  6.    public static void main(String[] args) { 
  7.        int arr[][] = new int[3][3];  
  8.       Scanner sc = new Scanner(System.in); 
  9.        for(int i = 0;i < arr.length;i++) 
  10.        { 
  11.           for(int j = 0;j < arr.length;j++) 
  12.            { 
  13.               arr[i][j] = sc.nextInt(); 
  14.           } 
  15.       } 
  16.        
  17.        if(arr[0][0] == arr[0][1] && arr[0][1] == arr[0][2]) 
  18.        { 
  19.           System.out.println("True"); 
  20.              
  21.        } 
  22.       else if(arr[1][0] == arr[1][1] && arr[1][1] == arr[1][2]) 
  23.       { 
  24.           System.out.println("True"); 
  25.              
  26.        } 
  27.       else if(arr[2][0] == arr[2][1] && arr[2][1] == arr[2][2]) 
  28.       { 
  29.           System.out.println("True"); 
  30.              
  31.        } 
  32.        
  33.        else if(arr[0][0] == arr[1][0] && arr[1][0] == arr[2][0]) 
  34.       { 
  35.           System.out.println("True"); 
  36.              
  37.        } 
  38.       else if(arr[0][1] == arr[1][1] && arr[1][1] == arr[2][1]) 
  39.       { 
  40.           System.out.println("True"); 
  41.              
  42.        } 
  43.       else if(arr[0][2] == arr[1][2] && arr[1][2] == arr[2][2]) 
  44.       { 
  45.           System.out.println("True"); 
  46.              
  47.        } 
  48.        
  49.  
  50.       else if(arr[0][0] == arr[1][1] && arr[1][1] == arr[2][2]) 
  51.       { 
  52.           System.out.println("True"); 
  53.              
  54.        } 
  55.       else if(arr[0][2] == arr[1][1] && arr[1][1] == arr[2][0]) 
  56.       { 
  57.           System.out.println("True"); 
  58.              
  59.        } 
  60.       else 
  61.        { 
  62.           System.out.println("False"); 
  63.        } 
  64.   } 
  65. }  

C++

  1. #include <iostream> 
  2. using namespace std; 
  3.  
  4. int main() { 
  5.    // 題目22. 圈圈叉叉 
  6.   int input[3][3]; 
  7.    for(int i = 0;i < 3;i++) 
  8.     { 
  9.       for(int j = 0;j < 3;j++) 
  10.         { 
  11.           cin >> input[i][j]; 
  12.       } 
  13.   } 
  14.   bool win = false
  15.   for(int i = 0;i < 3;i++) 
  16.     { 
  17.       if(input[i][0] == input[i][1]&& 
  18.         input[i][1] == input[i][2]) 
  19.         { 
  20.           win = true
  21.         } 
  22.       if(input[0][i] == input[1][i]&& 
  23.         input[1][i] == input[2][i]) 
  24.         { 
  25.           win = true
  26.         } 
  27.   } 
  28.   if(input[0][0] == input[1][1]&& 
  29.     input[1][1] == input[2][2]) 
  30.     { 
  31.       win = true
  32.     } 
  33.   if(input[0][2] == input[1][1]&& 
  34.     input[1][1] == input[2][0]) 
  35.     { 
  36.       win = true
  37.     } 
  38.   if(win == true
  39.     { 
  40.       cout << "True" << endl; 
  41.     } 
  42.   else 
  43.    { 
  44.       cout << "False" << endl; 
  45.    } 
  46.   return 0; 
  47. }  

[ITSA Basic] 題目39. 考試測驗(Java, C++)

[ITSA Basic] 題目39. 考試測驗
問題描述 : 某間學校舉辦英文檢定測驗,若是學生通過該測驗,則能通過畢業門檻。老師準備的英文測驗中分為三個項目當作考試,分別是聽力、閱讀、口說。每一個項目測驗滿分皆為 100 分,總分為 300 分。
以下4個判斷條件
一:0科不及格,即為通過測驗。
二:1科不及格
    三個總分>= 220 分,也可算通過測驗。
    三個總分<   220 分,可獲得補考機會。
三:2個不及格,第三科成績>= 80 分,也可獲得補考的機會。
四:其餘皆判定為無法通過測驗。

輸入說明 
第一行為一個整數 N ,代表共有 N 組測試資料。之後有 N 行,每一行有 3 個非負整數 (範圍皆為 0 到 100), 分別代表該名學生聽力、閱讀、口說的測驗分數。

輸出說明 :
   通過  ,則輸出 ”P” 
   補考  ,則輸出 ”M” 
無法通過,則輸出 ”F”  
每組答案結果輸出於一行

    Java

  1. import java.util.*;   
  2. import java.lang.*;   
  3. import java.io.*;   
  4. import java.util.InputMismatchException; 
  5.  
  6. public class Main 
  7.   public static void main(String[] args)  
  8.     { 
  9.       int n, listen, read, speak; 
  10.         int failNum = 0; 
  11.        Scanner sc = new Scanner(System.in); 
  12.        n = sc.nextInt();  
  13.      if(0 < n && n <100) 
  14.       { 
  15.           for(int i = 0;i < n;i++) 
  16.             { 
  17.               listen = sc.nextInt();  
  18.                 read = sc.nextInt();  
  19.               speak = sc.nextInt();  
  20.               
  21.                if(listen >= 0 && listen <= 100) 
  22.              { 
  23.                   if(listen < 60) 
  24.                  { 
  25.                       failNum++; 
  26.                  } 
  27.               } 
  28.               if(read >= 0 && read <= 100) 
  29.              { 
  30.                   if(read < 60) 
  31.                    { 
  32.                       failNum++; 
  33.                  } 
  34.               } 
  35.               if(speak >= 0 && speak <= 100) 
  36.                { 
  37.                   if(speak < 60) 
  38.                   { 
  39.                       failNum++; 
  40.                  } 
  41.               } 
  42.                
  43.                switch(failNum) {  
  44.              case 0:  
  45.                    System.out.println("P"); 
  46.                    break;  
  47.                 case 1:  
  48.                    if((listen+read+speak)>= 220) 
  49.                    { 
  50.                       System.out.println("P"); 
  51.                    } 
  52.                   else if((listen+read+speak)< 220) 
  53.                    { 
  54.                       System.out.println("M"); 
  55.                    } 
  56.                   break;  
  57.                 case 2:  
  58.                    if(listen >= 80) 
  59.                     { 
  60.                       System.out.println("M"); 
  61.                    } 
  62.                   else if(read >= 80) 
  63.                  { 
  64.                       System.out.println("M"); 
  65.                    } 
  66.                   else if(speak >= 80) 
  67.                     { 
  68.                       System.out.println("M"); 
  69.                    } 
  70.                   else 
  71.                    { 
  72.                       System.out.println("F"); 
  73.                    } 
  74.                   break;  
  75.                 case 3: 
  76.                     System.out.println("F"); 
  77.                default:  
  78.                    
  79.                     
  80.                }  
  81.              failNum = 0; 
  82.            } 
  83.       } 
  84.   } 
  85.  

    C++

  1. #include <iostream> 
  2. using namespace std; 
  3.  
  4. int main() { 
  5.    // 題目39. 考試測驗 
  6.   int N; 
  7.  cin >> N; 
  8.     int fail = 0; 
  9.   for(int i = 0;i < N;i++) 
  10.     { 
  11.       int grade[3]; 
  12.       cin >> grade[0] >> grade[1] >> grade[2]; 
  13.      //聽力, 閱讀, 口說 
  14.        for(int j = 0;j < 3;j++) 
  15.         { 
  16.           if(grade[j] < 60) 
  17.            { 
  18.               fail++; 
  19.             } 
  20.       } 
  21.       if(fail == 0) 
  22.       { 
  23.           cout << "P" << endl; 
  24.        } 
  25.       else if(fail == 1) 
  26.       { 
  27.           if(grade[0] + grade[1] + grade[2]>=220) 
  28.          { 
  29.               cout << "P" << endl; 
  30.            } 
  31.           else if(grade[0] + grade[1] + grade[2] < 220) 
  32.            { 
  33.               cout << "M" << endl; 
  34.            } 
  35.       } 
  36.       else if(fail == 2) 
  37.       { 
  38.           if(grade[0] >= 80 || grade[1] >= 80 || grade[2] >= 80) 
  39.             { 
  40.               cout << "M" << endl; 
  41.            } 
  42.           else 
  43.            { 
  44.               cout << "F" << endl; 
  45.            } 
  46.       } 
  47.       else 
  48.       { 
  49.           cout << "F" << endl; 
  50.       } 
  51.       fail = 0; 
  52.   } 
  53.   return 0; 
  54. }