xynuoj 1650 簡單計算器

2021-08-19 02:49:31 字數 1094 閱讀 6575

時間限制: 1 sec  

記憶體限制: 32 mb

[提交][狀態][討論版]

讀入乙個只包含 +, -, *, / 的非負整數計算表示式,計算該表示式的值。

測試輸入包含若干測試用例,每個測試用例佔一行,每行不超過200個字元,整數和運算子之間用乙個空格分隔。沒有非法表示式。當一行中只有0時輸入結束,相應的結果不要輸出。

對每個測試用例輸出1行,即該表示式的值,精確到小數點後2位。

30 / 90 - 26 + 97 - 5 - 6 - 13 / 88 * 6 + 51 / 29 + 79 * 87 + 57 * 92

0

12178.21

名校複試機考真題-浙江大學

字串處理

資料結構課本上的經典題演算法思路如下:

設立兩個棧,乙個運算元棧,乙個運算子棧,用來存放運算元和運算子

1.遇見數字直接進棧

2.遇見算符的話,比較算符與運算子棧棧頂元素的優先順序大小,如果棧頂元素的優先順序小於當前需要進棧的算符的優先順序,則直接將算符進棧,如果大於的話,則從運算元中彈出兩個運算元,從運算子棧中彈出乙個算符進行運算,將運算結果放入運算元棧中,直至整個表示式求值完畢(即運算子棧的棧頂元素和當前讀入的元素都為空(如果一開始入棧了乙個『#』,則為『#』))

#include#include#includeusing namespace std;

stacknum;

stackop;

double calculate(double x,char c,double y)

int priority(char s,char t)

if(s=='*'||s=='/')

if(s=='('||s=='=')

}int main()

num.push(temp);

i=j;

continue;

}else

op.push(str[i]);}}

} while(!op.empty())

printf("%.2f\n",num.top());

} return 0;

}

簡單計算器

unit unit1 inte ce uses windows,messages,sysutils,variants,classes,graphics,controls,forms,dialogs,stdctrls,buttons,math math是數 算單元 type tform1 class ...

簡單計算器

a 簡單計算器 crawling in process.crawling failed time limit 1000msmemory limit 32768kb64bit io format i64d i64u submit status description 讀入乙個只包含 的非負整數計算表示...

簡單計算器

問題描述 乙個最簡單的計算器,支援 四種運算。僅需考慮輸入輸出為整數的情況,資料和運算結果不會超過int表示的範圍。輸入 輸入只有一行,共有三個引數,其中第1 2個引數為整數,第3個引數為操作符 輸出 輸出只有一行,乙個整數,為運算結果。然而 1.如果出現除數為0的情況,則輸出 divided by...