nyoj 128 前缀式计算 模拟水题 回溯
题目中文的我就不多说了。
回溯水题,模拟一下就行了。
代码:
#include <cstdio>#include <cstring>double solve(char o) {char op[10];double o1, o2;scanf("%s", op);if (op[0] >= '0' && op[0] <= '9')sscanf(op, "%lf", &o1);else o1 = solve(op[0]);scanf("%s", op);if (op[0] >= '0' && op[0] <= '9')sscanf(op, "%lf", &o2);else o2 = solve(op[0]);switch(o) {case '+': return o1 + o2;case '-': return o1 - o2;case '*': return o1 * o2;case '/': return o1 / o2;}}int main() {char op[5];while (scanf("%s", op) != EOF) {printf("%.2lf\n", solve(op[0]));}return 0;}