题目1019:简单计算器
#include <stdio.h>
#include <iostream>
//#include <stack>
#include <string.h>
#include <queue>
#include <cmath>
#include <vector>
#include <algorithm>
#include <map>
#include <set>
#include <string>
using namespace std;
typedef long long LL;
#define MAX 1000
double arr[MAX];
int main() {
//freopen("in.txt", "r", stdin);
//freopen("out.txt", "w", stdout);
int a;
while(scanf("%d",&a) != EOF) {
if(a == 0){
break;
}
getchar();
int index = 0;
arr[++index] = 1.0 * a;
char c1, oper;
int b;
while(scanf("%c %d%c", &oper, &b, &c1) != EOF){
switch(oper)
{
case '+' : arr[++index] = 1.0 * b; break;
case '-' : arr[++index] = -1.0 * b; break;
case '*' : arr[index] = arr[index] * b; break;
case '/' : arr[index] = arr[index] / (double)b;
}
if(c1 != ' '){
break;
}
}
double ans = 0;
for(int i = 1; i <= index; i++){
ans += arr[i];
}
printf("%.2lf\n", ans);
}
return 0;
}
/**************************************************************
Problem: 1019
User: Crazy_man
Language: C++
Result: Accepted
Time:0 ms
Memory:1528 kb
****************************************************************/