--- 顯示   ++錯誤

 import java.io.*;
import java.awt.*;
import java.awt.event.*;
public class exam1 extends keyin1
{
 public static void main(String args[]) throws IOException
 {
   exam1 kk = new exam1(); 
     String str=buf.readLine();
     str="1++20";
     
       int i, num=0, sum=0,count=0;
       for(i=0; i<str.length(); i++){
        if(str.charAt(i)=='+' &&str.charAt(i+1)=='+')
        {   System.out.println("++錯誤");return;}
       }
       
       for(i=0; i<str.length(); i++)
       {
          if( str.charAt(i) != '+' ) //所讀字元不等於'+', 數字要進位合併
          {count=0;
            num=num*10 + str.charAt(i)-48;               
          }
          else //所讀字元等於'+'
          { count++;
            sum=sum+num;
            num=0;
          }
          if(count==2)
         {   System.out.println("++錯誤");return;}
          }
         
      
      
       sum=sum+num;
       System.out.println( sum + "");
      
        
    }    
}

 

--- -的部分

 import java.io.*;
import java.awt.*;
import java.awt.event.*;
public class exam2 extends keyin1
{
 public static void main(String args[]) throws IOException
 {
   exam1 kk = new exam1(); 
     String str=buf.readLine();
     str="1-20-101";
     
       int i, num=0, sum=0,count=0;
       for(i=0; i<str.length(); i++)
       {
          if( str.charAt(i) != '-' ){ //所讀字元不等於'+', 數字要進位合併
         
            num=num*10 + str.charAt(i)-48;               
          }
          else //所讀字元等於'+'
          {   count++;
           if(count==1)sum=sum+num;
           else  sum=sum-num;
           num=0;                  
         
          }  
      
       } 
      
       sum=sum-num;
       System.out.println( sum + "");
        
    }    
       }

 

---陽暉   階數錯誤

 

import java.io.*;
import java.awt.*;
import java.awt.event.*;

public class t507 extends keyin2{
 public static void main(String args[]) throws IOException
 {
   exam2 kk = new exam2(); 
     String str;
     str =buf.readLine();
     int a=Integer.parseInt(str);
     str =buf.readLine();
     int b=Integer.parseInt(str);
     
     a=1;  b=-2;
     if(a<0 ||b<0){System.out.print("階數錯誤");return;}
     
      
       int c[]=new int[11];
    int n,m;
    c[0]=1;//0!階層設為1 c[1]=1!=1*0!=1  c[2]=2!=2*1=2  c[3]=3!=3*2*1=3*2!=6 
    //                   c[4]=4!=4*3*2*1=4*3!=24
    //求1階層到10階層的值。1!=c[1]=1*c[1-1]=1*c[0] 所以c[0]要先設為1
    //否則 c[1]到c[10]的值全為0
    for(n=1;n<=10;n++) c[n]=n*c[n-1]; //c[n]為n階層,c[n-1] = [n-1] 階層
    //n!=n*(n-1)!
       //因為c[n-1]的關係,若n為0,則n-1變-1,陣列內索引從0開始,故錯誤。
       // c[0]=0*c[-1]  c[-1]:錯誤

    
    
    if(a<=b)//題目為由小而大
    {
     for(n=a;n<=b;n++)//n由a階到b階
     {
      for(m=0;m<=n;m++)//每一階的欄數 m 為由0到階數n
      {//要使用.append不然若使用.setText永遠只印一個數
       System.out.print( c[n]/c[m]/c[n-m] + "\t" );
      }
      System.out.println("\n");
      
     }
     
    
       }  
    }    
}

---

 

 

 

 

 

 

 

arrow
arrow
    全站熱搜

    玥君 發表在 痞客邦 留言(0) 人氣()