#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();
while(1){
double cal1,cal2,data;
int resp;
switch(resp){
case 1: cal2 = pop();
cal1 = pop();
push(cal1+cal2);
break;
case 2: cal2 = pop();
cal1 = pop();
push(cal1-cal2);
break;
case 3: cal2 = pop();
cal1 = pop();
push(cal1*cal2);
break;
case 4: cal2 = pop();
cal1 = pop();
push(cal1/cal2);
break;
push( data );
break;
case 9: answer();
return 0;
default: return 0;
}
}
answer();
return 0;
}
void push(double value)
{
if(isFull()){
}else{
stack[sp++]=value;
}
}
double pop(void)
{
if(isEmpty()){
}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)
{
for(int i=0; i<sp; i++){
printf("stack[%d]=%f\n", i
, stack
[i
]); }
}
void reset(void){
sp=0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFNJWkUgMTAKZG91YmxlIHN0YWNrW1NJWkVdOwppbnQgc3A7Cgp2b2lkIHB1c2goZG91YmxlIHZhbHVlKTsKZG91YmxlIHBvcCh2b2lkKTsKaW50IGlzRnVsbCh2b2lkKTsKaW50IGlzRW1wdHkodm9pZCk7CnZvaWQgYW5zd2VyKHZvaWQpOwp2b2lkIHJlc2V0KHZvaWQpOwppbnQgbWFpbih2b2lkKSAKewogICAgcmVzZXQoKTsKICAgIAoJd2hpbGUoMSl7Cglkb3VibGUgY2FsMSxjYWwyLGRhdGE7CglpbnQgcmVzcDsKCXNjYW5mKCIlZCIsJnJlc3ApOwoJCQoJCXN3aXRjaChyZXNwKXsKCQkJY2FzZSAxOiBjYWwyID0gcG9wKCk7CgkJCSAgICAgICAgY2FsMSA9IHBvcCgpOyAKCQkJICAgICAgICBwdXNoKGNhbDErY2FsMik7CgkJCSAgICAgICAgYnJlYWs7CgkJCWNhc2UgMjogY2FsMiA9IHBvcCgpOwoJCQkgICAgICAgIGNhbDEgPSBwb3AoKTsgCgkJCSAgICAgICAgcHVzaChjYWwxLWNhbDIpOwoJCQkgICAgICAgIGJyZWFrOwoJCQljYXNlIDM6IGNhbDIgPSBwb3AoKTsKCQkJICAgICAgICBjYWwxID0gcG9wKCk7IAoJCQkgICAgICAgIHB1c2goY2FsMSpjYWwyKTsKCQkJICAgICAgICBicmVhazsKCQkJY2FzZSA0OiBjYWwyID0gcG9wKCk7CgkJCSAgICAgICAgY2FsMSA9IHBvcCgpOyAKCQkJICAgICAgICBwdXNoKGNhbDEvY2FsMik7CgkJCSAgICAgICAgYnJlYWs7CgkJCWNhc2UgNTogcHJpbnRmKCJwdXNoIDogIik7CgkJCSAgICAgICAgc2NhbmYoIiVsZiIsJmRhdGEpOwoJCQkgICAgICAgIHB1c2goIGRhdGEgKTsKCQkJICAgICAgICBicmVhazsKCQkJY2FzZSA5OiBhbnN3ZXIoKTsKCQkJICAgICAgICByZXR1cm4gMDsKCQkgICBkZWZhdWx0OiByZXR1cm4gMDsgICAgICAgCgkJfQoJCXByaW50Zigic3A9JWRcbiIsIHNwKTsKCQkKCX0KCQoJYW5zd2VyKCk7CgkKCXJldHVybiAwOwp9Cgp2b2lkIHB1c2goZG91YmxlIHZhbHVlKQp7CglpZihpc0Z1bGwoKSl7CgkJcHJpbnRmKCLjgZPjga7jgrnjgr/jg4Pjgq/jga/muoDmna/jgafjgZkiKTsKCX1lbHNlewoJCXN0YWNrW3NwKytdPXZhbHVlOwoJfQp9Cgpkb3VibGUgcG9wKHZvaWQpCnsKCWlmKGlzRW1wdHkoKSl7CgkgICBwcmludGYoIuOBk+OBruOCueOCv+ODg+OCr+OBr+epuuOBp+OBmSIpOwoJfWVsc2V7CgkJcmV0dXJuIHN0YWNrW3NwLS1dOwoJfQp9CgppbnQgaXNGdWxsKHZvaWQpCnsKCWlmKHNwPj1TSVpFKXsKCSAgICByZXR1cm4gMTsJCgl9ZWxzZXsKCQlyZXR1cm4gMDsKCX0KfQoKaW50IGlzRW1wdHkodm9pZCkKewoJaWYoc3A8PTApewoJCXJldHVybiAxOwkKCX1lbHNlewoJCXJldHVybiAwOwogICAgfQp9Cgp2b2lkIGFuc3dlcih2b2lkKQp7CiAgICBwcmludGYoIlxuIik7Cglmb3IoaW50IGk9MDsgaTxzcDsgaSsrKXsKCQlwcmludGYoInN0YWNrWyVkXT0lZlxuIiwgaSwgc3RhY2tbaV0pOwoJfQkKfQoKdm9pZCByZXNldCh2b2lkKXsKCXNwPTA7Cn0KCg==