UVA 327 - Evaluating Simple C Expressions
2014-09-29 18:53
337 查看
简单题,直接模拟。
#include <iostream> #include <cstring> #include <cstdio> #include <cctype> #include <string> using namespace std; const int size = 26 + 4; const int str_size = 200; int x[size] , y[size] , z[size]; int main() { char str[str_size]; int cur = 0; while((str[cur] = getchar())!=EOF) { for(int i = 0 ; i < 26 ; ++i) { x[i] = 0; y[i] = i + 1; z[i] = 0; } int r = 0; int cnt1 = 0 , cnt2 = 0; int pre = -1; while(str[cur] != '\n' && str[cur] != EOF) { if(isalpha(str[cur])) { int t = str[cur] - 'a'; x[t] = 1; if(cnt1 == 2) { ++y[t]; cnt1 = 0 ; } else if(cnt2 == 2) { --y[t]; cnt2 = 0; } if(cnt1 == 1) { r += y[t]; cnt1 = 0;} else if(cnt2 == 1) { r -= y[t]; cnt2 = 0; } if(pre == -1) r = y[t]; pre = t; } if(str[cur] == '+') { ++cnt1; if(cnt1 == 2 && cnt2 == 0 && pre != -1) { ++z[pre]; cnt1 = 0; } } if(str[cur] == '-') { ++cnt2; if(cnt2 == 2 && cnt1 == 0 && pre != -1) { --z[pre]; cnt2 = 0;} } str[++cur] = getchar(); } str[cur] = 0; cout << "Expression: " << str << endl; cout << " value = " << r << endl; for(int i = 0 ; i < 26 ; ++i) { if(x[i]) cout << " " << (char)(i + 'a') << " = " << y[i] + z[i] << endl; } cur = 0; } return 0; }
相关文章推荐
- uva 327 - Evaluating Simple C Expressions
- UVA 327 -Evaluating Simple C Expressions(栈)
- uva 327--Evaluating Simple C Expressions
- uva 327 - Evaluating Simple C Expressions
- uva_327_Evaluating Simple C Expressions
- Uva 327 - Evaluating Simple C Expressions
- UVA 327 Evaluating Simple C Expressions
- UVA 327 - Evaluating Simple C Expressions(枚举就OK)
- uva 327 Evaluating Simple C Expressions
- UVa 327 Evaluating Simple C Expressions
- uva 327 Evaluating Simple C Expressions
- UVA - 327 Evaluating Simple C Expressions
- UVa 327 - Evaluating Simple C Expressions
- UVa 327 - Evaluating Simple C Expressions
- UVA327- Evaluating Simple C Expressions
- uva 327 Evaluating Simple C Expressions 简易C表达式计算 stl模拟
- UVA - 327 Evaluating Simple C Expressions
- UVA_327_Evaluating Simple C Expressions
- uva 327 Evaluating Simple C Expressions 简易C表达式计算 stl模拟
- uva_327-Evaluating Simple C Expressions