1. 程式人生 > >洛谷P1449 後綴表達式 棧 模擬 字符串

洛谷P1449 後綴表達式 棧 模擬 字符串

後綴 後綴表達式 char con 棧模擬 mat cstring for urn

洛谷P1449 後綴表達式

棧 模擬 字符串
棧模擬一下 碰到 . 如果輸入的是數字就把數字放進棧中

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <cmath>
 4 #include <cstdlib>
 5 #include <string>
 6 #include <algorithm>
 7 #include <iomanip>
 8 #include <iostream>
 9 using namespace std ; 
10 11 char s[1011] ; 12 int l,top,x ; 13 int st[1011] ; 14 15 int main() 16 { 17 scanf("%s",s+1) ; 18 l = strlen(s+1) ; 19 x = -1 ; 20 for(int i=1;i<=l;i++) 21 { 22 if(s[ i ]==.) { 23 if(x!=-1) st[++top] = x ; 24 x = -1 ; 25 continue
; 26 } 27 if(s[ i ]>=0&&s[ i ]<=9) 28 { 29 if(x==-1) x = 0 ; 30 x = x*10+s[ i ]-48 ; 31 } 32 if(s[ i ]==+) top-- ,st[top] = st[top] + st[top+1] ; 33 if(s[ i ]==-) top-- ,st[top] = st[top] - st[top+1] ; 34
if(s[ i ]==*) top-- ,st[top] = st[top] * st[top+1] ; 35 if(s[ i ]==/) top-- ,st[top] = st[top] / st[top+1] ; 36 37 } 38 printf("%d\n",st[top] ) ; 39 40 return 0 ; 41 }

洛谷P1449 後綴表達式 棧 模擬 字符串