>>369 まんどくせ
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>
#include<ctype.h>
double s[80],*t=s,value[80];
char c[80],name[80][80];
int max_p=0;
double*srch(char*p){
    int i;
    for(i=0;i<max_p;++i)
        if(strcmp(name[i],p)==0)return value+i;
    strcpy(name[i],p);
    return value+i;
}
#define o(p) else if(strcmp(c,#p)==0){--t;t[-1] = t[-1] p t[0];}
int main(){
    while(!~-scanf(" %79s",c))
        if(0){}o(+)o(-)o(*)o(/)
        else if(strcmp(c,"=")==0)printf("%g\n",*--t);
        else if(strcmp(c,"sin")==0)t[-1] = sin(t[-1]);
        else if(strcmp(c,"cos")==0)t[-1] = cos(t[-1]);
        else if(*c=='>') printf("%g\n",*srch(c+1) = *--t);
        else if(isdigit(*c)) *t++=atof(c);
        else *t++ = *srch(c+1);
    return 0;
}