tyvj1041 表达式求值
来源:互联网 发布:域名企业代备案 编辑:程序博客网 时间:2024/06/08 00:27
链接网址:http://tyvj.cn/Problem_Show.asp?id=1041
#include<iostream>#include<cstring>#include<cstdio>#include<sstream>#include<algorithm>using namespace std;const int MAX=1505;char sum1[MAX],sum2[MAX];int a[MAX];string str;string addion(string s1,string s2) { int i,j; memset(sum1,0,sizeof(sum1)); memset(sum2,0,sizeof(sum2)); for(j=0,i=s1.length()-1;i>=0;i--) sum1[j++]=s1[i]-'0'; for(j=0,i=s2.length()-1;i>=0;i--) sum2[j++]=s2[i]-'0'; for(i=0;i<MAX;i++) { sum1[i]+=sum2[i]; if(sum1[i]>=10 ) { sum1[i]-=10; sum1[i+1]++; } } string s=""; for(i=MAX;(i>=0)&&(sum1[i]==0);i--) ; if(i>=0) for(;i>=0;i--) s+=sum1[i]+'0'; else s="0"; return s; } string sub(string s3,string s4)//减法运算 { int i,j,flag=1; string s5=""; memset(sum1,0,sizeof(sum1)); memset(sum2,0,sizeof(sum2)); //if((s4.length()>s3.length())||(s4.length()==s3.length()&&s3.compare(s4)<0))//当被减数大于减数的时候交换两个字符串,且应该放在赋值前面 //{ swap(s3,s4); // flag=0; //} for(i=s3.length()-1,j=0;i>=0;i--) sum1[j++]=int(s3[i]-'0'); for(i=s4.length()-1,j=0;i>=0;i--) sum2[j++]=int(s4[i]-'0'); //cout<<s3<<" "<<s4<<endl; for(i=0;i<s3.length();i++) { if(sum1[i]>=sum2[i]) sum1[i]-=sum2[i]; else { sum1[i]-=sum2[i]-10; sum1[i+1]-=1; } } for(i=MAX;i>=0&&sum1[i]==0;i--); // if(!flag) s5="-"; if(i>=0) for(;i>=0;i--) s5+=sum1[i]+'0'; else s5="0"; return s5; } int main(){ int l,i,t=0,k; //cout<<sub("123123","123")<<endl; while(cin>>str){ l=str.length(); for(i=0;i<l;i++){ if(str[i]=='+') {str[i]=' ';a[t++]=0;} if(str[i]=='-') {str[i]=' ';a[t++]=1;} } //for(i=0;i<t;i++) // cout<<i<<" "<<a[i]<<endl; istringstream in(str); string s,s1,sum; in>>s1; sum=s1; k=0; while(in>>s){ if(a[k]==0) sum=addion(sum,s); if(a[k]==1) sum=sub(sum,s); k++; } cout<<sum<<endl; } return 0;}
- tyvj1041 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- 表达式求值
- DB2知识总结
- SQL知识总结
- Spring框架的设计理念与设计模式(1)
- termios结构体的详细设置
- SSH隧道
- tyvj1041 表达式求值
- Google Map开发系列(二)——使用谷歌地图API之前应该有所了解的一些技术外背景 .
- 实践积累
- JAVA知识总结
- ZRP源码分析
- java连接常见数据库的连接字符串
- AJAX知识总结
- Android开源项目-Jamendo音乐播放器研究与优化-手势操作
- HTML知识总结