Pagini recente » Cod sursa (job #2972874) | Cod sursa (job #2331700) | Cod sursa (job #2214760) | Cod sursa (job #371497) | Cod sursa (job #158370)
Cod sursa(job #158370)
#include <stdio.h>
char x[100010],*s=x;
long eval2();
long nr();
long eval()
{
long a=eval2();
while (*s=='+'||*s=='-')
{
if (*s=='+')
{
s++;
a+=eval2();
}
else {
s++;
a-=eval2();
}
}
return a;
}
long eval2()
{
long a=nr();
while (*s=='*'||*s=='/')
{
if (*s=='*')
{
s++;
a*=nr();
}
else {
s++;
a/=nr();
}
}
return a;
}
long nr()
{
long a=0;
if (*s=='(')
{
s++;
a=eval();
s++;
}
else
while (*s>='0'&&*s<='9')
{
a=a*10+*s-'0';
s++;
}
return a;
}
int main()
{
freopen("evaluare.in","r",stdin);
freopen("evaluare.out","w",stdout);
gets(x);
printf("%ld\n",eval());
return 0;
}