1 条题解
-
0
#include<iostream> #include<string> using namespace std; int change(string a){//定义函数,将数字字符串转化为数字 int k=1,su=0; for(int i=a.size()-1;i>=0;i--){ su+=(a[i]-'0')*k; k*=10; } return su; } int main(){ string s,w; int sum=0,f=1; cin>>s; for(int i=0;i<s.size();i++){ if(s[i]=='+'){//计算已读入数字,更新运算状态,清空待转换数字字符串 if(f) sum+=change(w); else sum-=change(w); f=1; w=""; } else if(s[i]=='-'){ if(f) sum+=change(w); else sum-=change(w); f=0; w=""; } else w+=s[i];//读入数字 } if(f) sum+=change(w);//末项数字无法在循环中计算,故在循环之外追加计算 else sum-=change(w); cout<<sum; }
- 1
信息
- ID
- 385
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 4
- 标签
- 递交数
- 74
- 已通过
- 37
- 上传者