#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 data;
double a,b;
switch(menu){
case 1: // +
b = pop();
a = pop();
push(a+b);
break;
case 2: // -
b = pop();
a = pop();
push(a-b);
break;
case 3: // *
b = pop();
a = pop();
push(a*b);
break;
case 4: // /
b = pop();
a = pop();
push(a/b);
break;
case 5: // データ入力
push(data);
break;
case 9: // 終了
answer();
return 0;
}
}
answer();
return 0;
}
void push(double value)
{
if(!isFull())
stack[sp++] = value;
}
double pop(void)
{
if(!isEmpty())
return stack[--sp];
return 0;
}
int isFull(void)
{
return sp >= SIZE;
}
int isEmpty(void)
{
return sp == 0;
}
void answer(void)
{
printf("\nanswer:%lf\n", pop
()); }
void reset(void)
{
sp = 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFNJWkUgMTAKZG91YmxlIHN0YWNrW1NJWkVdOwppbnQgc3A7Cgp2b2lkIHB1c2goZG91YmxlIHZhbHVlKTsKZG91YmxlIHBvcCh2b2lkKTsKaW50IGlzRnVsbCh2b2lkKTsKaW50IGlzRW1wdHkodm9pZCk7CnZvaWQgYW5zd2VyKHZvaWQpOwp2b2lkIHJlc2V0KHZvaWQpOwoKaW50IG1haW4odm9pZCkKewogICAgcmVzZXQoKTsKCiAgICB3aGlsZSgxKXsKICAgICAgICBpbnQgbWVudTsKICAgICAgICBkb3VibGUgZGF0YTsKICAgICAgICBkb3VibGUgYSxiOwoKICAgICAgICBzY2FuZigiJWQiLCZtZW51KTsKCiAgICAgICAgc3dpdGNoKG1lbnUpewogICAgICAgIGNhc2UgMTogICAgIC8vICsKICAgICAgICAgICAgYiA9IHBvcCgpOwogICAgICAgICAgICBhID0gcG9wKCk7CiAgICAgICAgICAgIHB1c2goYStiKTsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgMjogICAgIC8vIC0KICAgICAgICAgICAgYiA9IHBvcCgpOwogICAgICAgICAgICBhID0gcG9wKCk7CiAgICAgICAgICAgIHB1c2goYS1iKTsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgMzogICAgIC8vICoKICAgICAgICAgICAgYiA9IHBvcCgpOwogICAgICAgICAgICBhID0gcG9wKCk7CiAgICAgICAgICAgIHB1c2goYSpiKTsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgNDogICAgIC8vIC8KICAgICAgICAgICAgYiA9IHBvcCgpOwogICAgICAgICAgICBhID0gcG9wKCk7CiAgICAgICAgICAgIHB1c2goYS9iKTsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgNTogICAgIC8vIOODh+ODvOOCv+WFpeWKmwogICAgICAgICAgICBzY2FuZigiJWxmIiwmZGF0YSk7CiAgICAgICAgICAgIHB1c2goZGF0YSk7CiAgICAgICAgICAgIHByaW50ZigiZGF0YTolbGZcbiIsZGF0YSk7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlIDk6ICAgICAvLyDntYLkuoYKICAgICAgICAgICAgYW5zd2VyKCk7CiAgICAgICAgICAgIHJldHVybiAwOwogICAgICAgIH0KICAgIH0KCiAgICBhbnN3ZXIoKTsKCiAgICByZXR1cm4gMDsKfQoKdm9pZCBwdXNoKGRvdWJsZSB2YWx1ZSkKewogICAgaWYoIWlzRnVsbCgpKQogICAgICAgIHN0YWNrW3NwKytdID0gdmFsdWU7Cn0KCmRvdWJsZSBwb3Aodm9pZCkKewogICAgaWYoIWlzRW1wdHkoKSkKICAgICAgICByZXR1cm4gc3RhY2tbLS1zcF07CgogICAgcmV0dXJuIDA7Cn0KCmludCBpc0Z1bGwodm9pZCkKewogICAgcmV0dXJuIHNwID49IFNJWkU7Cn0KCmludCBpc0VtcHR5KHZvaWQpCnsKICAgIHJldHVybiBzcCA9PSAwOwp9Cgp2b2lkIGFuc3dlcih2b2lkKQp7CiAgICBwcmludGYoIlxuYW5zd2VyOiVsZlxuIiwgcG9wKCkpOwp9Cgp2b2lkIHJlc2V0KHZvaWQpCnsKICAgIHNwID0gMDsKfQ==