24h購物| | PChome| 登入
2009-04-04 13:04:53| 人氣938| 回應0 | 上一篇 | 下一篇

後序運算法

推薦 0 收藏 0 轉貼0 訂閱站台

/************************************************************/

#include<stdio.h>                 
#include<stdlib.h>     
#include<string.h>     
#include<math.h>      
main()     
{     
 long long int a,b=0,c;
 int temp=0;     
 char x[9999];      
 long long int y[9999];     
  while(gets(x))     
  {     
   for(a=0;a<strlen(x);a++)    
    {     
     switch(x[a])     
      {     
       case '+': y[b-2]=y[b-2]+y[b-1];y[b-1]=0;b=b-2;break;     
       case '-': y[b-2]=y[b-2]-y[b-1];y[b-1]=0;b=b-2;break;    /*因為退兩2格 所以要刪掉第2格的數字 不然會累加 空格要退2格*/
       case '*': y[b-2]=y[b-2]*y[b-1];y[b-1]=0;b=b-2;break;     
       case '/': y[b-2]=y[b-2]/y[b-1];y[b-1]=0;b=b-2;break;     
       case '%': y[b-2]=y[b-2]%y[b-1];y[b-1]=0;b=b-2;break;
       case ' ': b++;break;
       default:y[b]=y[b]*10+x[a]-48;
      }     
    }       
    printf("%d\n",y[0]);     
    b=0;y[0]=0;      
  }        
  return 0;         
}

台長: 來源不明
人氣(938) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 數位資訊(科技、網路、通訊、家電) | 個人分類: ZeroJudge 基礎+原創題庫 |
此分類下一篇:字串讀取練習
此分類上一篇:盈數、虧數和完全數

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文