PTA7 21 求字首表示式的值 25分

2021-10-07 11:37:19 字數 1002 閱讀 8540

算術表示式有字首表示法、中綴表示法和字尾表示法等形式。字首表示式指二元運算子位於兩個運算數之前,例如2+3*(7-4)+8/4的字首表示式是:+ + 2 * 3 - 7 4 / 8 4。請設計程式計算字首表示式的結果值。

輸入在一行內給出不超過30個字元的字首表示式,只包含+-*/以及運算數,不同物件(運算數、運算符號)之間以空格分隔。

輸出字首表示式的運算結果,保留小數點後1位,或錯誤資訊error

+ + 2 * 3 - 7 4 / 8 4
13.0
stack scanf from right to left 2.encount number push stack 3.encounter sign  pop topf tops  cal: r=topf sign tops push r 5.   reuse 2.3

#include#include#include #include#includeusing namespace std;

float op(float f1,float f2,char sign)

return result;

}int main()

s.push( op(a,b,str[i]) );

i--;

} else

s.push(atof(strnum.c_str()));

} }if(s.size()==1)

printf("%0.1f",s.top());

else

printf("error\n");

return 0;

}

參考博文

對我來說難點主要是運算元是小數 和運算元不止一位時。之前用c寫了後來發現網上大部分寫c++. c++寫真是6的一b 

pta7 21 求字首表示式的值

東軟學習小組成員 夜楓 題目 算術表示式有字首表示法 中綴表示法和字尾表示法等形式。字首表示式指二元運算子位於兩個運算數之前,例如2 3 7 4 8 4的字首表示式是 2 3 7 4 8 4。請設計程式計算字首表示式的結果值。輸入格式 輸入在一行內給出不超過30個字元的字首表示式,只包含 以及運算數...

7 21 求字首表示式的值

算術表示式有字首表示法 中綴表示法和字尾表示法等形式。字首表示式指二元運算子位於兩個運算數之前,例如2 3 7 4 8 4的字首表示式是 2 3 7 4 8 4。請設計程式計算字首表示式的結果值。輸入在一行內給出不超過30個字元的字首表示式,只包含 以及運算數,不同物件 運算數 運算符號 之間以空格...

PTA求字首表示式的值

算術表示式有字首表示法 中綴表示法和字尾表示法等形式。字首表示式指二元運算子位於兩個運算數之前,例如2 3 7 4 8 4的字首表示式是 2 3 7 4 8 4。請設計程式計算字首表示式的結果值。輸入在一行內給出不超過30個字元的字首表示式,只包含 以及運算數,不同物件 運算數 運算符號 之間以空格...