#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;
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();
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNkZWZpbmUgU0laRSAxMApkb3VibGUgc3RhY2tbU0laRV07CmludCBzcDsKCgp2b2lkIHB1c2goZG91YmxlIHZhbHVlKTsKZG91YmxlIHBvcCh2b2lkKTsKaW50IGlzRnVsbCh2b2lkKTsKaW50IGlzRW1wdHkodm9pZCk7CnZvaWQgYW5zd2VyKHZvaWQpOwp2b2lkIHJlc2V0KHZvaWQpOwoKaW50IG1haW4odm9pZCl7CiAgICByZXNldCgpOwogICAgaW50IHJlc3A7Cglkb3VibGUgZGF0YTsKCgl3aGlsZSgxKXsKCQlzY2FuZigiJWQiLCAmcmVzcCk7CgkJaWYocmVzcD09OSkgYnJlYWs7CgkJZG91YmxlIGEsIGI7CgoJCXN3aXRjaChyZXNwKXsKCQkJY2FzZSAxOiBhPXBvcCgpOwoJCQkJYj1wb3AoKTsKCQkJCXB1c2goYStiKTsKCQkJCWJyZWFrOwoJCQljYXNlIDI6IGE9cG9wKCk7CgkJCQliPXBvcCgpOwoJCQkJcHVzaChiLWEpOwoJCQkJYnJlYWs7CgkJCWNhc2UgMzogYT1wb3AoKTsKCQkJCWI9cG9wKCk7CgkJCQlwdXNoKGIqYSk7CgkJCQlicmVhazsKCQkJY2FzZSA0OiBhPXBvcCgpOwoJCQkJYj1wb3AoKTsKCQkJCXB1c2goYi9hKTsKCQkJCWJyZWFrOwoJCQljYXNlIDU6IHNjYW5mKCIlbGYiLCZkYXRhKTsKCQkJCXB1c2goZGF0YSk7CgkJCQlwcmludGYoImRhdGE6JWxmXG4iLCBkYXRhKTsKCQkJCWJyZWFrOwoJCX0KCX0KCQlhbnN3ZXIoKTsKCQlyZXR1cm4gMDsKfQoKdm9pZCBwdXNoIChkb3VibGUgdmFsdWUpewoJaWYoIGlzRnVsbCgpICl7CgkJcHJpbnRmKCLjgrnjgr/jg4Pjgq/jgYzmuoDmna/jgaflhaXjgorjgb7jgZvjgpPjgafjgZfjgZ9cbiIpOwoJfQoJZWxzZXsKCQlzdGFja1tzcCsrXSA9IHZhbHVlOwoJfQp9Cgpkb3VibGUgcG9wKHZvaWQpewoJaWYoIGlzRW1wdHkoKSApewoJCXByaW50Zigi44K544K/44OD44Kv44GM56m644Gn5Y+W44KK5Ye644Gb44G+44Gb44KT44Gn44GX44GfL24iKTsKCQlyZXR1cm4gMDsKCX0KCWVsc2V7CgkJcmV0dXJuIHN0YWNrWy0tc3BdOwoJfQp9CgppbnQgaXNGdWxsKHZvaWQpewoJaWYoc3AgPj0gU0laRSl7CgkJcmV0dXJuIDE7Cgl9CgllbHNlewoJCXJldHVybiAwOwoJfQp9CgppbnQgaXNFbXB0eSh2b2lkKXsKCWlmKHNwPD0gMCl7CgkJcmV0dXJuIDE7Cgl9CgllbHNlewoJCXJldHVybiAwOwoJfQp9Cgp2b2lkIGFuc3dlcih2b2lkKXsKCXByaW50ZigiYW5zd2VyOiVsZiIsIHN0YWNrWzBdICk7Cn0KCnZvaWQgcmVzZXQodm9pZCl7Cgl3aGlsZShpc0VtcHR5KCk9PTApewoJCXBvcCgpOwoJfQp9