簡單計算器

2021-07-06 10:25:50 字數 1114 閱讀 8516

description

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

input

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

output

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

sample input

1 + 2

4 + 2 * 5 - 7 / 11

0

sample output

3.00

13.36

這道題需要注意當當前符號為*/或*-時只能算前面的*/,+-千萬不要算前面的+-,這樣算有錯,

注意最後乙個是*/。

#include #include const int maxn = 1005;

char op[maxn], sign[maxn];

double val[maxn];

double oper ( double a, double b, char ch )

}int priority ( char ch )

int main ( )

else if ( priority ( op[i] ) == 2 )

//*/時也算前面的*/

sign[++ front] = op[i];

}else

sign[++ front] = op[i]; //符號入棧}}

if ( front >= 0 && priority ( sign[front] ) == 2 )

//最後乙個符號可能是*/,需要先算

ans = val[0];

for ( int i = 0; i <= front; i ++ )

//沒算的只剩+-,按順序算

printf ( "%.2lf\n", ans );

}return 0;}/*

- / - +

算+的時候最後乙個else開始寫的有問題

*/

簡單計算器

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...