hdu 1237 简单计算器
2013-04-10 20:24
357 查看
普通方法
#include<iostream> #include<string.h> using namespace std; char a[205], c[205]; double b[205]; int main() { while(gets(a)) { //if(!strcmp(a, "0")) // break; memset(b, 0, sizeof(b)); memset(c, 0, sizeof(c)); int i, temp=0, t = 0, l; l = strlen(a); if(l == 1 && a[0] == '0') { exit(0); } double sum = 0; for( i=0; i < l; i++ ) { if(a[i] >= '0' && a[i] <= '9') temp = temp*10 + a[i] - '0', b[t] = temp; else temp = 0; if(a[i] == '+' || a[i] == '-' || a[i] == '*' || a[i] == '/') c[t++] = a[i]; } for( i=0; i < t; i++ ) { if(c[i] == '*' || c[i] == '/') { if(c[i] == '*') { b[i+1] *= b[i]; b[i] = 0; if(i-1 >= 0) c[i] = c[i-1]; else c[i] = '+'; } else { b[i+1] = b[i] / b[i+1]; b[i] = 0; if(i-1 >= 0) c[i] = c[i-1]; else c[i] = '+'; } } } sum = b[0]; for( i=0; i < t; i++ ) { if(c[i] == '+') sum += b[i+1]; else sum -= b[i+1]; } printf("%.2lf\n", sum); } return 0; }
相关文章推荐
- Hdu 1237 简单计算器
- hdu 1237 Java 简单计算器
- 简单计算器-HDU - 1237
- hdu 1237 简单计算器
- HDU——1237简单计算器
- hdu 1237 简单计算器
- hdu 1237 简单计算器(数组模拟栈,队列)
- hdu 1237 简单计算器
- HDU 1237 简单计算器
- hdu 1237 简单计算器(表达式求值)
- hdu 1237【简单计算器】
- HDU 1237:简单计算器【栈】
- HDU 1237 简单计算器
- HDU-1237 简单计算器
- HDU 1237(简单计算器)栈的应用-表达式求值
- HDU 1237 简单计算器 && 字符串模拟四则运算
- HDU 1237-简单计算器
- hdu 1237 简单计算器
- HDU - 1237 - 简单计算器(栈)
- hdu -1237- 简单计算器(栈实现)