Pagini recente » Cod sursa (job #947439) | Cod sursa (job #2465213) | Cod sursa (job #1980434) | Cod sursa (job #2731445) | Cod sursa (job #389237)
Cod sursa(job #389237)
#include<stdio.h>
char s[100004], *p=s;
long op1();
long op2();
long nr();
long op1()
{
long r=op2();
if(*p=='+')
{
++p;
r+=op2();
}
else if(*p=='-')
{
++p;
r-=op2();
}
return r;
}
long op2()
{
long r=nr();
if(*p=='*')
{
++p;
r*=nr();
}
else if(*p=='/')
{
++p;
r/=nr();
}
return r;
}
long nr()
{
long r=0;
if(*p=='(')
{
++p;
r=op1();
++p;
}
else while(*p>='0'&&*p<='9')
{
r=r*10+*p-'0';
++p;
}
return r;
}
int main()
{
freopen("evaluare.in", "r", stdin);
freopen("evaluare.out", "w", stdout);
scanf("%s", &s);
printf("%ld\n", op1());
return 0;
}