#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){
int menu;
double value,data1,data2;
if(menu==9){
break;
}
switch(menu){
case 1:
data2=pop();
data1=pop();
push(data1+data2);
break;
case 2:
data2=pop();
data1=pop();
push(data1-data2);
break;
case 3:
data2=pop();
data1=pop();
push(data1*data2);
break;
case 4:
data2=pop();
data1=pop();
push(data1/data2);
break;
case 5:
push(value);
break;
}
}
answer();
return 0;
}
void push(double value)
{
if (!isFull()) {
stack[sp] = value;
sp++;
}
}
double pop(void)
{
if (!isEmpty()) {
sp--;
return stack[sp];
}
return 0;
}
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:%f\n", stack
[sp
- 1]); }
void reset(void)
{
sp = 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KCiNkZWZpbmUgU0laRSAxMApkb3VibGUgc3RhY2tbU0laRV07CmludCBzcDsKCnZvaWQgcHVzaChkb3VibGUgdmFsdWUpOwpkb3VibGUgcG9wKHZvaWQpOwppbnQgaXNGdWxsKHZvaWQpOwppbnQgaXNFbXB0eSh2b2lkKTsKdm9pZCBhbnN3ZXIodm9pZCk7CnZvaWQgcmVzZXQodm9pZCk7CgppbnQgbWFpbih2b2lkKQp7CiAgICByZXNldCgpOwoKIHdoaWxlKDEpewogCWludCBtZW51OwogCWRvdWJsZSB2YWx1ZSxkYXRhMSxkYXRhMjsKIAkKIAlzY2FuZigiJWQiLCZtZW51KTsKIAlpZihtZW51PT05KXsKIAkJYnJlYWs7CiAJfQogCXN3aXRjaChtZW51KXsKIAkJY2FzZSAxOgogCQlkYXRhMj1wb3AoKTsKIAkJZGF0YTE9cG9wKCk7CiAJCXB1c2goZGF0YTErZGF0YTIpOwogCQlicmVhazsKIAkJY2FzZSAyOgogCQlkYXRhMj1wb3AoKTsKIAkJZGF0YTE9cG9wKCk7CiAJCXB1c2goZGF0YTEtZGF0YTIpOwogCQlicmVhazsKIAkJY2FzZSAzOgogCQlkYXRhMj1wb3AoKTsKIAkJZGF0YTE9cG9wKCk7CiAgICAgICAgcHVzaChkYXRhMSpkYXRhMik7CiAgICAgICAgYnJlYWs7CiAgICAgICAgY2FzZSA0OgogICAgICAgIGRhdGEyPXBvcCgpOwogICAgICAgIGRhdGExPXBvcCgpOwogICAgICAgIHB1c2goZGF0YTEvZGF0YTIpOwogICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgNToKICAgICAgICBzY2FuZigiJWxmIiwmdmFsdWUpOwogICAgICAgIHByaW50ZigiZGF0YTolZlxuIix2YWx1ZSk7CiAgICAgICAgcHVzaCh2YWx1ZSk7CiAgICAgICAgYnJlYWs7CiAJfQogICB9CiAgICBhbnN3ZXIoKTsKCiAgICByZXR1cm4gMDsKfQp2b2lkIHB1c2goZG91YmxlIHZhbHVlKQp7CmlmICghaXNGdWxsKCkpIHsKICAgIHN0YWNrW3NwXSA9IHZhbHVlOwogICAgc3ArKzsKfQp9Cgpkb3VibGUgcG9wKHZvaWQpCnsKaWYgKCFpc0VtcHR5KCkpIHsKICAgIHNwLS07CiAgICByZXR1cm4gc3RhY2tbc3BdOwp9CnJldHVybiAwOwp9CgppbnQgaXNGdWxsKHZvaWQpCnsKCWlmIChzcCA+PSBTSVpFKSB7CiAgICByZXR1cm4gMTsKfSBlbHNlIHsKICAgIHJldHVybiAwOwp9Cn0KCmludCBpc0VtcHR5KHZvaWQpCnsKCWlmIChzcCA9PSAwKSB7CiAgICByZXR1cm4gMTsKfSBlbHNlIHsKICAgIHJldHVybiAwOwp9Cn0KCnZvaWQgYW5zd2VyKHZvaWQpCnsKcHJpbnRmKCJhbnN3ZXI6JWZcbiIsIHN0YWNrW3NwIC0gMV0pOwp9Cgp2b2lkIHJlc2V0KHZvaWQpCnsKc3AgPSAwOwp9CiAJ