Pagini recente » Cod sursa (job #985327) | Cod sursa (job #2581746) | Cod sursa (job #542817) | Cod sursa (job #1682706) | Cod sursa (job #395549)
Cod sursa(job #395549)
#include<stdio.h>
char s[100004], *p=s;
long op1()
{
long r=op2();
while(*p=='+'||*p=='-')
if(*p=='+')
{
++p;
r+=op2();
}
else if(*p=='-')
{
++p;
r-=op2();
}
return r;
}
long op2()
{
long r=nr();
while(*p=='*'||*p=='/')
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;
}