和为0前奏

版权声明:转载时 别忘了注明出处 https://blog.csdn.net/ZCY19990813/article/details/82903125
#include <iostream>
#include <stdlib.h>
#include <algorithm>
#include <stdio.h>
#include <cstring>
#include <cmath>
using namespace std;
typedef long long ll;
int main()
{
    char s[101010],ss[101010],c;
    ll n,m,a=0,b,e=0,i,sum=0;
    ll ans[101001]={0};
    gets(s);
    for(i=0;s[i];i++)
    {
       if(s[i]!=' ')
            ss[e++]=s[i];
    }
    ss[e]=0;
    b=0;
    for(i=0;i<e;i++)
    {
        if(ss[i]>='0'&&ss[i]<='9')
        {
            if(ss[i+1]>='0'&&ss[i+1]<='9'&&i<e-1)
                ans[b++]=(ss[i]-48)*10+(ss[i+1]-48),i++;
            else
                ans[b++]=(ss[i]-48);
        }
        else
           if(ss[i]=='+')
              ans[b++]=43;
           else
              ans[b++]=45;
    }
//    for(i=0;i<b;i++)
//        cout<<ans[i]<<endl;
    sum=ans[0];
    for(i=1;i<b;i++)
    {
        if(ans[i]==43)
            sum+=ans[i+1];
        else
        if(ans[i]==45)
           sum-=ans[i+1];
    }
    cout<<sum<<endl;
    return 0;
}

猜你喜欢

转载自blog.csdn.net/ZCY19990813/article/details/82903125
今日推荐