327 - Evaluating Simple C Expressions
2014-11-04 14:25
127 查看
#include <stdio.h> #include <string.h> #include <ctype.h> int main() { int atoz[26],flag[26],i,result,operand,opersign; char expressions[150]; while(fgets(expressions,150,stdin)!=NULL) { printf("Expression: %s",expressions); for(int j=0;j<26;j++) atoz[j]=j; memset(flag,0,sizeof(flag)); i=result=opersign=0; int len=strlen(expressions); for(int j=0;j<len;j++) { if(expressions[j]==' ') { for(int k=j;k<strlen(expressions);k++) { expressions[k]=expressions[k+1]; } j--; } } while(i<strlen(expressions)) { if(islower(expressions[i])) { operand=expressions[i]-'a'+1; flag[operand-1]=1; if(expressions[i+1]=='+' && expressions[i+2]=='+') { atoz[operand-1]++; i=i+2; } if(expressions[i+1]=='-' && expressions[i+2]=='-') { atoz[operand-1]--; i=i+2; } } else if(expressions[i]=='+') { operand=expressions[i+2]-'a'+2; atoz[operand-2]++; flag[operand-2]=1; i=i+2; } else { operand=expressions[i+2]-'a'; atoz[operand]--; flag[operand]=1; i=i+2; } if(opersign==0) result+=operand; else result-=operand; if(expressions[++i]=='+') opersign=0; else opersign=1; i++; } printf(" value = %d\n",result); for(int j=0;j<26;j++) { if(flag[j]==1) printf(" %c = %d\n",j+'a',atoz[j]+1); } } return 0; }
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=104&page=show_problem&problem=263
相关文章推荐
- 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表达式计算 stl模拟
- 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表达式计算 stl模拟
- 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)