#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;
double data;
int resp;
if(resp==9) break;
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;
}
}
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+CgojZGVmaW5lIFNJWkUgMTAKZG91YmxlIHN0YWNrW1NJWkVdOwppbnQgc3A7Cgp2b2lkIHB1c2goZG91YmxlIHZhbHVlKTsKZG91YmxlIHBvcCh2b2lkKTsKaW50IGlzRnVsbCh2b2lkKTsKaW50IGlzRW1wdHkodm9pZCk7CnZvaWQgYW5zd2VyKHZvaWQpOwp2b2lkIHJlc2V0KHZvaWQpOwoKaW50IG1haW4odm9pZCkgCnsKICAgIHJlc2V0KCk7CiAgICAKCXdoaWxlKDEpewoJZG91YmxlIGNhbDEsY2FsMjsKCWRvdWJsZSBkYXRhOwoJaW50IHJlc3A7CgkKCXNjYW5mKCIlZCIsJnJlc3ApOwoJCglpZihyZXNwPT05KSBicmVhazsJCgkKICAgIHN3aXRjaChyZXNwKXsKCQkJY2FzZSAxOiBjYWwyID0gcG9wKCk7CgkJCSAgICAgICAgY2FsMSA9IHBvcCgpOyAKCQkJICAgICAgICBwdXNoKGNhbDErY2FsMik7CgkJCSAgICAgICAgYnJlYWs7CgkJCWNhc2UgMjogY2FsMiA9IHBvcCgpOwoJCQkgICAgICAgIGNhbDEgPSBwb3AoKTsgCgkJCSAgICAgICAgcHVzaChjYWwxLWNhbDIpOwoJCQkgICAgICAgIGJyZWFrOwoJCQljYXNlIDM6IGNhbDIgPSBwb3AoKTsKCQkJICAgICAgICBjYWwxID0gcG9wKCk7IAoJCQkgICAgICAgIHB1c2goY2FsMSpjYWwyKTsKCQkJICAgICAgICBicmVhazsKCQkJY2FzZSA0OiBjYWwyID0gcG9wKCk7CgkJCSAgICAgICAgY2FsMSA9IHBvcCgpOyAKCQkJICAgICAgICBwdXNoKGNhbDEvY2FsMik7CgkJCSAgICAgICAgYnJlYWs7CgkJCWNhc2UgNTogcHJpbnRmKCJkYXRhIDogIik7CgkJCSAgICAgICAgc2NhbmYoIiVsZiIsJmRhdGEpOwoJCQkgICAgICAgIHB1c2goIGRhdGEgKTsKCQkJICAgICAgICBwcmludGYoIiVsZiIsZGF0YSk7CgkJCSAgICAgICAgYnJlYWs7CgkJCSAKCQl9CgkJCgl9CgkKCWFuc3dlcigpOwoJcmV0dXJuIDA7Cn0KCnZvaWQgcHVzaChkb3VibGUgdmFsdWUpCnsKCWlmKGlzRnVsbCgpKXsKCQlwcmludGYoIuOBk+OBruOCueOCv+ODg+OCr+OBr+a6gOadr+OBp+OBmSIpOwoJfWVsc2V7CgkJc3RhY2tbc3ArK109dmFsdWU7Cgl9Cn0KCmRvdWJsZSBwb3Aodm9pZCkKewoJaWYoaXNFbXB0eSgpKXsKCSAgIHByaW50Zigi44GT44Gu44K544K/44OD44Kv44Gv56m644Gn44GZIik7Cgl9ZWxzZXsKCQlyZXR1cm4gc3RhY2tbLS1zcF07Cgl9Cn0KCmludCBpc0Z1bGwodm9pZCkKewoJaWYoc3A+PVNJWkUpewoJICAgIHJldHVybiAxOwkKCX1lbHNlewoJCXJldHVybiAwOwoJfQp9CgppbnQgaXNFbXB0eSh2b2lkKQp7CglpZihzcDw9MCl7CgkJcmV0dXJuIDE7CQoJfWVsc2V7CgkJcmV0dXJuIDA7CiAgICB9Cn0KCnZvaWQgYW5zd2VyKHZvaWQpCnsKICAgIHByaW50ZigiXG4iKTsKCWZvcihpbnQgaT0wOyBpPHNwOyBpKyspewoJCXByaW50Zigic3RhY2tbJWRdPSVmXG4iLCBpLCBzdGFja1tpXSk7Cgl9CQp9Cgp2b2lkIHJlc2V0KHZvaWQpewoJc3A9MDsKfQ==