#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;
while(1){
if(resp==9) break;
double a, b;
switch(resp){
case 1: a=pop();
b=pop();
push(a+b);
break;
case 2: a=pop();
b=pop();
push(b-a);
break;
case 3: a=pop();
b=pop();
push(b*a);
break;
case 4: a=pop();
b=pop();
push(b/a);
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:%lf", stack
[0] ); }
void reset(void){
while(isEmpty()==0){
pop();
}
}
CgojZGVmaW5lIFNJWkUgMTAKZG91YmxlIHN0YWNrW1NJWkVdOwppbnQgc3A7CgoKdm9pZCBwdXNoKGRvdWJsZSB2YWx1ZSk7CmRvdWJsZSBwb3Aodm9pZCk7CmludCBpc0Z1bGwodm9pZCk7CmludCBpc0VtcHR5KHZvaWQpOwp2b2lkIGFuc3dlcih2b2lkKTsKdm9pZCByZXNldCh2b2lkKTsKCmludCBtYWluKHZvaWQpewogICAgcmVzZXQoKTsKICAgIGludCByZXNwOwoJZG91YmxlIGRhdGE7CgoJd2hpbGUoMSl7CgkJc2NhbmYoIiVkIiwgJnJlc3ApOwoJCWlmKHJlc3A9PTkpIGJyZWFrOwoJCWRvdWJsZSBhLCBiOwoKCQlzd2l0Y2gocmVzcCl7CgkJCWNhc2UgMTogYT1wb3AoKTsKCQkJCWI9cG9wKCk7CgkJCQlwdXNoKGErYik7CgkJCQlicmVhazsKCQkJY2FzZSAyOiBhPXBvcCgpOwoJCQkJYj1wb3AoKTsKCQkJCXB1c2goYi1hKTsKCQkJCWJyZWFrOwoJCQljYXNlIDM6IGE9cG9wKCk7CgkJCQliPXBvcCgpOwoJCQkJcHVzaChiKmEpOwoJCQkJYnJlYWs7CgkJCWNhc2UgNDogYT1wb3AoKTsKCQkJCWI9cG9wKCk7CgkJCQlwdXNoKGIvYSk7CgkJCQlicmVhazsKCQkJY2FzZSA1OiBzY2FuZigiJWxmIiwmZGF0YSk7CgkJCQlwdXNoKGRhdGEpOwoJCQkJcHJpbnRmKCJkYXRhOiVsZlxuIiwgZGF0YSk7CgkJCQlicmVhazsKCQl9Cgl9CgkJYW5zd2VyKCk7CgkJcmV0dXJuIDA7Cn0KCnZvaWQgcHVzaCAoZG91YmxlIHZhbHVlKXsKCWlmKCBpc0Z1bGwoKSApewoJCXByaW50Zigi44K544K/44OD44Kv44GM5rqA5p2v44Gn5YWl44KK44G+44Gb44KT44Gn44GX44GfXG4iKTsKCX0KCWVsc2V7CgkJc3RhY2tbc3ArK10gPSB2YWx1ZTsKCX0KfQoKZG91YmxlIHBvcCh2b2lkKXsKCWlmKCBpc0VtcHR5KCkgKXsKCQlwcmludGYoIuOCueOCv+ODg+OCr+OBjOepuuOBp+WPluOCiuWHuuOBm+OBvuOBm+OCk+OBp+OBl+OBny9uIik7CgkJcmV0dXJuIDA7Cgl9CgllbHNlewoJCXJldHVybiBzdGFja1stLXNwXTsKCX0KfQoKaW50IGlzRnVsbCh2b2lkKXsKCWlmKHNwID49IFNJWkUpewoJCXJldHVybiAxOwoJfQoJZWxzZXsKCQlyZXR1cm4gMDsKCX0KfQoKaW50IGlzRW1wdHkodm9pZCl7CglpZihzcDw9IDApewoJCXJldHVybiAxOwoJfQoJZWxzZXsKCQlyZXR1cm4gMDsKCX0KfQoKdm9pZCBhbnN3ZXIodm9pZCl7CglwcmludGYoImFuc3dlcjolbGYiLCBzdGFja1swXSApOwp9Cgp2b2lkIHJlc2V0KHZvaWQpewoJd2hpbGUoaXNFbXB0eSgpPT0wKXsKCQlwb3AoKTsKCX0KfQ==