資料結構實驗之棧三 字尾式求值SDUT2133

2021-08-21 22:25:56 字數 1139 閱讀 3670

time limit: 1000ms memory limit: 65536kb

submit

statistic

problem description

對於乙個基於二元運算子的字尾表示式(基本運算元都是一位正整數),求其代表的算術表示式的值。

input

輸入乙個算術表示式的字尾式字串,以『#』作為結束標誌。

output

求該字尾式所對應的算術表示式的值,並輸出之。

example input

59*684/-3*+#
example output

57
法1:

#include

#include

int top=0,i,stack[1001];

int main()

else if(a[i]=='-')

else if(a[i]=='*')

else if(a[i]=='/')

}printf("%d\n",stack[top]);

return 0;

法2:#include

#include

using namespace std;

const int maxn=10000+5;

char s[maxn];

int st[maxn];

int get_value(int x,int y,char s)

if(s=='+')return x+y;

if(s=='-')return x-y;

if(s=='*')return x*y;

return x/y;

int main()

int top=0;

scanf("%s",s);

int i=0;

while(s[i]!='#')

if(isdigit(s[i]))st[top++]=s[i]-'0';

else

int x=st[--top];

int y=st[--top];

st[top++]=get_value(y,x,s[i]);

i++;

printf("%d\n",st[0]);

return 0;

資料結構實驗之棧三 字尾式求值

time limit 1000ms memory limit 65536k 有疑問?點這裡 對於乙個基於二元運算子的字尾表示式 基本運算元都是一位正整數 求其代表的算術表示式的值。輸入乙個算術表示式的字尾式字串,以 作為結束標誌。求該字尾式所對應的算術表示式的值,並輸出之。59 684 3 57 基...

資料結構實驗之棧三 字尾式求值

time limit 1000ms memory limit 65536k 對於乙個基於二元運算子的字尾表示式 基本運算元都是一位正整數 求其代表的算術表示式的值。輸入乙個算術表示式的字尾式字串,以 作為結束標誌。求該字尾式所對應的算術表示式的值,並輸出之。59 684 3 57 include i...

資料結構實驗之棧三 字尾式求值

abc defg hc 資料結構實驗之棧三 字尾式求值 time limit 1000msmemory limit 65536kb64bit io format lld llu submit status practice sdutoj 2133 description 對於乙個基於二元運算子的字尾...