POJ 1539 UVA 327 Evaluating Simple C Expressions
来源:互联网 发布:boy london知乎 编辑:程序博客网 时间:2024/06/14 22:35
POJ 1539 UVA 327 Evaluating Simple C Expressions
先处理双目运算符,然后去掉双目运算符,在处理单目运算符水过。。
#include <iostream>using namespace std;#include <algorithm>#include <stdio.h>#include <string.h>#include <ctype.h>char sb[115];char sb1[115];char sb2[115];int num[26];int num1[26];int t;int value;int main(){ while (gets(sb) != NULL) {value = 0;memset(num, 0 ,sizeof(num));memset(num, 0 ,sizeof(num1));for (int i = 0; i < 26; i ++){ num[i] = i + 1; num1[i] = i + 1;}memset(sb1, 0, sizeof(sb1));memset(sb2, 0, sizeof(sb2));t = 2;sb1[0] = sb1[1] = ' ';for (int i = 0; i < strlen(sb); i ++) if (sb[i] != ' ')sb1[t++] = sb[i];sb1[t] = '\0';for (int i = 0; i < strlen(sb1); i ++){ if (isalpha(sb1[i])) {if (sb1[i - 2] == '+' && sb1[i - 1] == '+'){ num[sb1[i] - 'a'] ++; num1[sb1[i] - 'a'] ++; sb1[i - 2] = ' '; sb1[i - 1] = ' ';}if (sb1[i - 2] == '-' && sb1[i - 1] == '-'){ num[sb1[i] - 'a'] --; num1[sb1[i] - 'a'] --; sb1[i - 2] = ' '; sb1[i - 1] = ' ';}if (sb1[i + 1] == '+' && sb1[i + 2] == '+'){ num[sb1[i] - 'a'] ++; sb1[i + 2] = ' '; sb1[i + 1] = ' ';}if (sb1[i + 1] == '-' && sb1[i + 2] == '-'){ num[sb1[i] - 'a'] --; sb1[i + 2] = ' '; sb1[i + 1] = ' ';} }}t = 1;sb2[0] = ' ';for (int i = 0; i < strlen(sb1); i ++){ if(sb1[i] != ' ')sb2[t++] = sb1[i];}sb2[t] = '\0';for (int i = 0; i < strlen(sb2); i ++){ if (isalpha(sb2[i])) {if (sb2[i - 1] == '-'){ value -= num1[sb2[i] - 'a'];}else{ value += num1[sb2[i] - 'a'];} }}printf("Expression: %s\n", sb);printf(" value = %d\n", value);sort(sb2,sb2+strlen(sb2));for (int i = 0; i < strlen(sb2); i ++){ if(isalpha(sb2[i])) {printf(" %c = %d\n", sb2[i], num[sb2[i] - 'a']); }} } return 0;}
- POJ 1539 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
- 数据结构 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
- UVA 327 Evaluating Simple C Expressions
- UVA - 327 Evaluating Simple C Expressions
- 红黑树(删除)
- C++中为什么要设置缓冲区
- struts2对ognl表达式的使用(配图解加讲解)
- 深入理解PHP内核
- Linux中各种操作符 重定向操作符、管道符
- POJ 1539 UVA 327 Evaluating Simple C Expressions
- 最长公共子序列
- 介绍一个好用的工具类库commons-beanutils
- 不相交集及应用
- UVA 11234 Expressions
- 通过注释调用不同的方法
- 在.NET下多层架构企业管理系统的开发
- 【Windows7远程桌面连接的实用技巧】
- 理解ZCL在Z-stack协议栈中的位置和作用