#include <stdio.h>
#define SIZE 10
double stack[SIZE];
int sp;
void push(double value);
double pop(void);
int isFull(void);
int isEmpty(void);
void answer(void);
void reset(void);
int main(void)
{
reset();
int resp;
double data,a,b;
while(1){
if(resp==9) break;
switch(resp){
case 1:b=pop();
a=pop();
push(a+b);
break;
case 2:b=pop();
a=pop();
push(a-b);
break;
case 3:b=pop();
a=pop();
push(a*b);
break;
case 4:b=pop();
a=pop();
push(a/b);
break;
case 5:scanf("%lf",&data
); push(data);
break;
}
}
answer();
return 0;
}
void push(double value){
if(isFull()){
}else{
stack[sp++]=value;
}
}
double pop(void){
if(isEmpty()){
printf("スタックが空で取り出せませんでした\n"); return 0;
}else{
return stack[--sp];
}
}
int isFull(void){
if(sp>=SIZE){
return 1;
}else{
return 0;
}
}
int isEmpty(void){
if(sp<=0){
return 1;
}else{
return 0;
}
}
void answer(void){
printf("answer:%f\n",stack
[sp
-1]); }
void reset(void){
sp=0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFNJWkUgMTAKZG91YmxlIHN0YWNrW1NJWkVdOwppbnQgc3A7Cgp2b2lkIHB1c2goZG91YmxlIHZhbHVlKTsKZG91YmxlIHBvcCh2b2lkKTsKaW50IGlzRnVsbCh2b2lkKTsKaW50IGlzRW1wdHkodm9pZCk7CnZvaWQgYW5zd2VyKHZvaWQpOwp2b2lkIHJlc2V0KHZvaWQpOwoKaW50IG1haW4odm9pZCkKewoJcmVzZXQoKTsKCWludCByZXNwOwoJZG91YmxlIGRhdGEsYSxiOwoJCgl3aGlsZSgxKXsKCQlzY2FuZigiJWQiLCZyZXNwKTsKCQlpZihyZXNwPT05KSBicmVhazsKCQlzd2l0Y2gocmVzcCl7CgkJCWNhc2UgMTpiPXBvcCgpOwoJCQkgICAgICAgYT1wb3AoKTsKCQkJICAgICAgIHB1c2goYStiKTsKCQkJICAgICAgIGJyZWFrOwoJCQljYXNlIDI6Yj1wb3AoKTsKCQkJICAgICAgIGE9cG9wKCk7CgkJCSAgICAgICBwdXNoKGEtYik7CgkJCSAgICAgICBicmVhazsKCQkJY2FzZSAzOmI9cG9wKCk7CgkJCSAgICAgICBhPXBvcCgpOwoJCQkgICAgICAgcHVzaChhKmIpOwoJCQkgICAgICAgYnJlYWs7CgkJCWNhc2UgNDpiPXBvcCgpOwoJCQkgICAgICAgYT1wb3AoKTsKCQkJICAgICAgIHB1c2goYS9iKTsKCQkJICAgICAgIGJyZWFrOwoJCQljYXNlIDU6c2NhbmYoIiVsZiIsJmRhdGEpOwoJCQkgICAgICAgcHVzaChkYXRhKTsKCQkJICAgICAgIHByaW50ZigiZGF0YTolbGZcbiIsZGF0YSk7CgkJCSAgICAgICBicmVhazsKCQl9Cgl9CglhbnN3ZXIoKTsKCXJldHVybiAwOwp9CnZvaWQgcHVzaChkb3VibGUgdmFsdWUpewoJaWYoaXNGdWxsKCkpewoJCXByaW50Zigi44K544K/44OD44Kv44GM5rqA5p2v44Gn5YWl44KK44G+44Gb44KT44Gn44GX44GfXG4iKTsKCX1lbHNlewoJCXN0YWNrW3NwKytdPXZhbHVlOwoJfQp9CmRvdWJsZSBwb3Aodm9pZCl7CglpZihpc0VtcHR5KCkpewoJCXByaW50Zigi44K544K/44OD44Kv44GM56m644Gn5Y+W44KK5Ye644Gb44G+44Gb44KT44Gn44GX44GfXG4iKTsKCQlyZXR1cm4gMDsKCX1lbHNlewoJCXJldHVybiBzdGFja1stLXNwXTsKICAgIH0KfQppbnQgaXNGdWxsKHZvaWQpewoJaWYoc3A+PVNJWkUpewoJCXJldHVybiAxOwoJfWVsc2V7CgkJcmV0dXJuIDA7Cgl9Cn0KaW50IGlzRW1wdHkodm9pZCl7CglpZihzcDw9MCl7CgkJcmV0dXJuIDE7Cgl9ZWxzZXsKCQlyZXR1cm4gMDsKCX0KfQp2b2lkIGFuc3dlcih2b2lkKXsKCXByaW50ZigiYW5zd2VyOiVmXG4iLHN0YWNrW3NwLTFdKTsKfQp2b2lkIHJlc2V0KHZvaWQpewoJc3A9MDsKfQ==