http://acm.nyist.net/JudgeOnline/problem.php?pid=128
递归思想。。。
#include<stdio.h>
#include<string.h>
int i,len;
char a[1000];
double f()
{
double sum=0;
int n;
switch(a[i])
{
case '+':i++;return f() + f();
case '-':i++;return f() - f();
case '*':i++;return f() * f();
case '/':i++;return f() / f();
case ' ':i++;return f();
default:
sscanf(&a[i],"%lf%n",&sum,&n);
i+=n;return sum;
}
}
int main()
{
while(gets(a))
{
len=strlen(a);
i=0;
printf("%.2lf\n",f());
memset(a,0,sizeof(a));
}
return 0;
}