題目描述
給出一個表達式,其中運算符僅包含+,要求求出表達式的最終值
輸入
僅一行,即爲表達式
輸出
僅一行,既爲表達式算出的結果
樣例輸入
1+1
樣例輸出
2
提示
表達式總長度< =1500
//從最後一位數開始查找,遇到加號表示這個數結束,然後前面的事另外一個數,加起來就行(簡單暴力模擬)
#include<bits/stdc++.h>
using namespace std;
int ans[1501],num[1501],ansl=0;
char s[1505];
void get(int x)
{
for(int i=0;i<x;i++)
{
ans[i]+=num[i];
}
ansl=max(ansl,x-1);
for(int i=0;i<ansl;i++)
{
ans[i+1]+=ans[i]/10;
ans[i]%=10;
}
if(ans[ansl]>0)++ansl;
}
void add()
{
int i=0;
int x=strlen(s);
while(x--)
{
if(s[x]=='+')
{
get(i);
i=0;
memset(num,0,sizeof(num));
}
else num[i++]=s[x]-48;
}
get(i);
}
int main()
{
cin>>s;
add();
for(int i=ansl-1;i>=0;i--)
cout<<ans[i];
return 0;