#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 x;
if(!x){
break;
}
if (x == 9) {
break;
}
switch (x) {
case 1: {
double b=pop();
double a=pop();
push(a + b);
break;
}
case 2: {
double b=pop();
double a=pop();
push(a - b);
break;
}
case 3: {
double b=pop();
double a=pop();
push(a * b);
break;
}
case 4: {
double b=pop();
double a=pop();
push(a / b);
break;
}
case 5: {
double data;
push(data);
break;
}
}
}
answer();
return 0;
}
void push(double value){
if(sp >= SIZE){
printf("スタックが満杯で入りませんでした。\n"); }
else{
stack[sp++] = value;
}
}
double pop(void){
if(sp <= 0){
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:%.6f\n", pop
()); }
void reset(void){
sp=0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNkZWZpbmUgU0laRSAxMApkb3VibGUgc3RhY2tbU0laRV07CmludCBzcDsKCnZvaWQgcHVzaChkb3VibGUgdmFsdWUpOwpkb3VibGUgcG9wKHZvaWQpOwppbnQgaXNGdWxsKHZvaWQpOwppbnQgaXNFbXB0eSh2b2lkKTsKdm9pZCBhbnN3ZXIodm9pZCk7CnZvaWQgcmVzZXQodm9pZCk7CgppbnQgbWFpbih2b2lkKSB7CglyZXNldCgpOwogICAgd2hpbGUgKDEpIHsgCiAgICAgICAgaW50IHg7CgogICAgICAgIHNjYW5mKCIlZCIsICZ4KTsKICAgICAgICBpZigheCl7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KCiAgICAgICAgaWYgKHggPT0gOSkgewogICAgICAgICAgICBicmVhazsKICAgICAgICB9CgogICAgICAgIHN3aXRjaCAoeCkgewogICAgICAgICAgICAgY2FzZSAxOiB7CiAgICAgICAgICAgICAgICBkb3VibGUgYj1wb3AoKTsKICAgICAgICAgICAgICAgIGRvdWJsZSBhPXBvcCgpOwogICAgICAgICAgICAgICAgcHVzaChhICsgYik7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICBjYXNlIDI6IHsKICAgICAgICAgICAgICAgIGRvdWJsZSBiPXBvcCgpOwogICAgICAgICAgICAgICAgZG91YmxlIGE9cG9wKCk7CiAgICAgICAgICAgICAgICBwdXNoKGEgLSBiKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIAogICAgICAgICAgICAJY2FzZSAzOiB7CiAgICAgICAgICAgICAgICBkb3VibGUgYj1wb3AoKTsKICAgICAgICAgICAgICAgIGRvdWJsZSBhPXBvcCgpOwogICAgICAgICAgICAgICAgcHVzaChhICogYik7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgICAgICBjYXNlIDQ6IHsKICAgICAgICAgICAgICAgIGRvdWJsZSBiPXBvcCgpOwogICAgICAgICAgICAgICAgZG91YmxlIGE9cG9wKCk7CiAgICAgICAgICAgICAgICBwdXNoKGEgLyBiKTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGNhc2UgNTogewogICAgICAgICAgICAgICAgZG91YmxlIGRhdGE7CiAgICAgICAgICAgICAgICBzY2FuZigiJWxmIiwgJmRhdGEpOwogICAgICAgICAgICAgICAgcHVzaChkYXRhKTsKICAgICAgICAgICAgcHJpbnRmKCJkYXRhOiUuNmZcbiIsIGRhdGEpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CmFuc3dlcigpOwoJCglyZXR1cm4gMDsKfQoKdm9pZCBwdXNoKGRvdWJsZSB2YWx1ZSl7CglpZihzcCA+PSBTSVpFKXsKCXByaW50Zigi44K544K/44OD44Kv44GM5rqA5p2v44Gn5YWl44KK44G+44Gb44KT44Gn44GX44Gf44CCXG4iKTsKCX0KCWVsc2V7CgkJc3RhY2tbc3ArK10gPSB2YWx1ZTsKCX0KCX0KZG91YmxlIHBvcCh2b2lkKXsKCWlmKHNwIDw9IDApewoJCXByaW50Zigi44K544K/44OD44Kv44GM56m644Gn5Y+W44KK5Ye644Gb44G+44Gb44KT44Gn44GX44Gf44CCXG4iKTsKCQlyZXR1cm4gMDsKCX0KCWVsc2V7CgkJcmV0dXJuIHN0YWNrWy0tc3BdOwoJfQp9CQppbnQgaXNGdWxsKHZvaWQpCnsKCWlmKHNwID49IFNJWkUpewoJCXJldHVybiAxO30KCQllbHNlewoJCQlyZXR1cm4gMDsKCQl9CgkJfQppbnQgaXNFbXB0eSh2b2lkKXsKCWlmKHNwIDw9IDApewoJCXJldHVybiAxOwoJfQoJZWxzZXsKCQlyZXR1cm4gMDsKCX0KfQkJCgp2b2lkIGFuc3dlcih2b2lkKXsKICBwcmludGYoImFuc3dlcjolLjZmXG4iLCBwb3AoKSk7Cn0Kdm9pZCByZXNldCh2b2lkKXsKCXNwPTA7Cn0=