#include <stdio.h> #include <string.h> #define MAX 200 double stack[MAX]; int tail; int main() { int a; while (scanf("%d ",&a) && a!=0) { tail = 0; //a!=0,保存在數組中 //i 始終指向數字位置 stack[++tail] = 1.0 * a; //入棧其餘剩餘的數字 char symbol,space; double num; while (scanf("%c %lf%c",&symbol,&num,&space)!=EOF) { if (symbol == '+') { stack[++tail] = num;//1.0 * num; } else if (symbol == '-') { stack[++tail] = -1 * num;//-1.0 * num; } else if (symbol == '*') { stack[tail] = stack[tail] * num; } else if (symbol == '/') { stack[tail] = stack[tail] / num; } if(space != ' ') { break; } } //統計數組中的數值的和 double count = 0; int i; for (i=1;i<=tail;i++) { count += stack[i]; } printf("%.2lf\n",count); } return 1; }