#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();
break;
return 0;
}
break;
}
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+CgojZGVmaW5lIFNJWkUgMTAKZG91YmxlIHN0YWNrW1NJWkVdOwppbnQgc3A7Cgp2b2lkIHB1c2goZG91YmxlIHZhbHVlKTsKZG91YmxlIHBvcCh2b2lkKTsKaW50IGlzRnVsbCh2b2lkKTsKaW50IGlzRW1wdHkodm9pZCk7CnZvaWQgYW5zd2VyKHZvaWQpOwp2b2lkIHJlc2V0KHZvaWQpOwppbnQgbWFpbih2b2lkKSAKewogICAgcmVzZXQoKTsKICAgIAoJd2hpbGUoMSl7Cglkb3VibGUgY2FsMSxjYWwyLGRhdGE7CglpbnQgcmVzcDsKCXNjYW5mKCIlZCIsJnJlc3ApOwoJCQoJCXN3aXRjaChyZXNwKXsKCQkJY2FzZSAxOiBjYWwyID0gcG9wKCk7CgkJCSAgICAgICAgY2FsMSA9IHBvcCgpOyAKCQkJICAgICAgICBwdXNoKGNhbDErY2FsMik7CgkJCSAgICAgICAgYnJlYWs7CgkJCWNhc2UgMjogY2FsMiA9IHBvcCgpOwoJCQkgICAgICAgIGNhbDEgPSBwb3AoKTsgCgkJCSAgICAgICAgcHVzaChjYWwxLWNhbDIpOwoJCQkgICAgICAgIGJyZWFrOwoJCQljYXNlIDM6IGNhbDIgPSBwb3AoKTsKCQkJICAgICAgICBjYWwxID0gcG9wKCk7IAoJCQkgICAgICAgIHB1c2goY2FsMSpjYWwyKTsKCQkJICAgICAgICBicmVhazsKCQkJY2FzZSA0OiBjYWwyID0gcG9wKCk7CgkJCSAgICAgICAgY2FsMSA9IHBvcCgpOyAKCQkJICAgICAgICBwdXNoKGNhbDEvY2FsMik7CgkJCSAgICAgICAgYnJlYWs7CgkJCWNhc2UgNTogcHJpbnRmKCJwdXNoIDogIik7CgkJCSAgICAgICAgc2NhbmYoIiVsZiIsJmRhdGEpOwoJCQkgICAgICAgIHB1c2goIGRhdGEgKTsKCQkJICAgICAgICBicmVhazsKCQkJY2FzZSA5OiBhbnN3ZXIoKTsKCQkJICAgICAgICBicmVhazsKCQkJICAgICAgICByZXR1cm4gMDsKCQl9CgkJcHJpbnRmKCJzcD0lZFxuIiwgc3ApOwoJCWJyZWFrOwoJfQoJCglhbnN3ZXIoKTsKCQoJcmV0dXJuIDA7Cn0KCnZvaWQgcHVzaChkb3VibGUgdmFsdWUpCnsKCWlmKGlzRnVsbCgpKXsKCQlwcmludGYoIuOBk+OBruOCueOCv+ODg+OCr+OBr+a6gOadr+OBp+OBmSIpOwoJfWVsc2V7CgkJc3RhY2tbc3ArK109dmFsdWU7Cgl9Cn0KCmRvdWJsZSBwb3Aodm9pZCkKewoJaWYoaXNFbXB0eSgpKXsKCSAgIHByaW50Zigi44GT44Gu44K544K/44OD44Kv44Gv56m644Gn44GZIik7Cgl9ZWxzZXsKCQlyZXR1cm4gc3RhY2tbc3AtLV07Cgl9Cn0KCmludCBpc0Z1bGwodm9pZCkKewoJaWYoc3A+PVNJWkUpewoJICAgIHJldHVybiAxOwkKCX1lbHNlewoJCXJldHVybiAwOwoJfQp9CgppbnQgaXNFbXB0eSh2b2lkKQp7CglpZihzcDw9MCl7CgkJcmV0dXJuIDE7CQoJfWVsc2V7CgkJcmV0dXJuIDA7CiAgICB9Cn0KCnZvaWQgYW5zd2VyKHZvaWQpCnsKICAgIHByaW50ZigiXG4iKTsKCWZvcihpbnQgaT0wOyBpPHNwOyBpKyspewoJCXByaW50Zigic3RhY2tbJWRdPSVmXG4iLCBpLCBzdGFja1tpXSk7Cgl9CQp9Cgp2b2lkIHJlc2V0KHZvaWQpewoJc3A9MDsKfQo=