格式化

廣告

廣告2

2012年9月23日 星期日

[JAVA教學範例] d092: 算式也可以比大小!?

[JAVA範例] d092: 算式也可以比大小!?


內容 :
一日,老師教到了數字的比大小,此時,某K想到了一種新的比較方式,如下:

a+b=c

但若a>b時,答案就變成[>c],
若a=b時,答案就變成[=c],
若a
而[>c] > [=c] > [
例如:
1+1=[=2]
2+0=[>2]
0+2=[<2 p="p">


輸入說明 :
首先會先輸入要比較的n組算式(n<=1000),之後再輸入兩個正整數a和b,數字最大不會超
過2^31-1。若n等於0即跳出。
輸出說明 :
將a+b加起來後排序(大->小),並輸出。

範例輸入 :
5
1 5
5 1
3 3
4 5
5 6
0

範例輸出 :
<11>6 =6 <6 p="p">


提示 :
延長數線。


出處 :
Rozisa (管理:MAPLEWING)

範例解答 :


import java.io.IOException;
import java.util.Scanner;


 
public class eee { 
    @SuppressWarnings({ "resource", "unused" })
 public static void main(String[] args) throws IOException { 

     Scanner read = new Scanner(System.in);
     
     while(read.hasNext())
     {
     int sum=read.nextInt();
     if(sum==0) break;
     int a;
     int b;
     int[][] c=new int[sum][2];
     
     for(int q=0; q<sum; q++)
     {
      a=read.nextInt();
      b=read.nextInt();
      if(a>b)
      {
       c[q][0]='>';
       c[q][1]=a+b;
      }
      if(a<b)
      {
       c[q][0]='<';
       c[q][1]=a+b;
      }
      if(a==b)
      {
       c[q][0]='=';
       c[q][1]=a+b;
      }
     }
     
     for(int q=0; q<sum; q++)
     {
      for(int w=q+1; w<sum; w++)
      {
       if(c[w][1]>c[q][1]) 
       {
        int temp=c[w][1]; c[w][1]=c[q][1]; c[q][1]=temp;
        temp=c[w][0]; c[w][0]=c[q][0]; c[q][0]=temp;
       }
      }
     }
     
     for(int q=0; q<sum; q++)
     {
      for(int w=q+1; w<sum; w++)
      {
       if(c[w][1]==c[q][1]  &&c[w][0]>c[q][0]) 
       {
        int temp=c[w][1]; c[w][1]=c[q][1]; c[q][1]=temp;
        temp=c[w][0]; c[w][0]=c[q][0]; c[q][0]=temp;
       }
      }
     }
     
     for(int q=0; q<sum; q++)
     {
      System.out.printf("%c%d", c[q][0],c[q][1]);
      if(q<sum-1)System.out.printf(" ");
      if(q+1==sum)System.out.println();
     }
     }
    }
}

沒有留言 :