#include <stdio.h>
#define SIZE 10
double stack[SIZE];
double a,b;
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();
int resp,data;
printf("1:足し算 2:引き算 3:かけ算 4:割り算 5:データ入力 9:計算結果 \n"); while(1){
switch(resp){
case 1:a=pop(); b=pop(); push(a+b);
break;
case 2:a=pop(); b=pop(); push(b-a);
break;
case 3:a=pop(); b=pop(); push(a*b);
break;
case 4:a=pop(); b=pop();
if(a==0){
break;
}else{
push(b/a);
break;
}
case 5:scanf("%d",&data
); printf("data:%d\n",data
); push
(data
); break;
case 9:answer();
return 0;
}
}
}
void push(double value)
{
if(isFull()){
}else{
stack[sp++]=value;
}
}
double pop(void)
{
if(isEmpty()){
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:%f",stack
[sp
-1]); }
void reset(void)
{
sp=0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFNJWkUgMTAKZG91YmxlIHN0YWNrW1NJWkVdOwpkb3VibGUgYSxiOwppbnQgc3A7Cgp2b2lkIHB1c2goZG91YmxlIHZhbHVlKTsKZG91YmxlIHBvcCh2b2lkKTsKaW50IGlzRnVsbCh2b2lkKTsKaW50IGlzRW1wdHkodm9pZCk7CnZvaWQgYW5zd2VyKHZvaWQpOwp2b2lkIHJlc2V0KHZvaWQpOwoKaW50IG1haW4odm9pZCkKewoJcmVzZXQoKTsKCWludCByZXNwLGRhdGE7CglwcmludGYoIjE66Laz44GX566XIDI65byV44GN566XIDM644GL44GR566XIDQ65Ymy44KK566X44CANTrjg4fjg7zjgr/lhaXlipsgOTroqIjnrpfntZDmnpwgXG4iKTsKCXdoaWxlKDEpewoJCXNjYW5mKCIlZCIsJnJlc3ApOwoJCQoJCXN3aXRjaChyZXNwKXsKCQljYXNlIDE6YT1wb3AoKTsgYj1wb3AoKTsgcHVzaChhK2IpOwoJCWJyZWFrOwoJCWNhc2UgMjphPXBvcCgpOyBiPXBvcCgpOyBwdXNoKGItYSk7CgkJYnJlYWs7CgkJY2FzZSAzOmE9cG9wKCk7IGI9cG9wKCk7IHB1c2goYSpiKTsKCQlicmVhazsKCQljYXNlIDQ6YT1wb3AoKTsgYj1wb3AoKTsgCgkJaWYoYT09MCl7CgkJCWJyZWFrOwoJCQl9ZWxzZXsKCQkJCXB1c2goYi9hKTsKCQkJCWJyZWFrOwoJCQl9CgkJY2FzZSA1OnNjYW5mKCIlZCIsJmRhdGEpOyBwcmludGYoImRhdGE6JWRcbiIsZGF0YSk7IHB1c2goZGF0YSk7CgkJYnJlYWs7CgkJY2FzZSA5OmFuc3dlcigpOwoJCXJldHVybiAwOwoJCX0KCX0KfQoKCgp2b2lkIHB1c2goZG91YmxlIHZhbHVlKQp7CglpZihpc0Z1bGwoKSl7CgkJcHJpbnRmKCLjgrnjgr/jg4Pjgq/jgYzmuoDmna/jgaflhaXjgorjgb7jgZvjgpPjgafjgZfjgZ8iKTsKCX1lbHNlewoJCXN0YWNrW3NwKytdPXZhbHVlOwoJfQp9Cgpkb3VibGUgcG9wKHZvaWQpCnsKCWlmKGlzRW1wdHkoKSl7CgkJcHJpbnRmKCLjgrnjgr/jg4Pjgq/jgYznqbrjgaflj5bjgorlh7rjgZvjgb7jgZvjgpPjgafjgZfjgZ8iKTsKCQlyZXR1cm4gMDsKCX1lbHNlewoJCXJldHVybiBzdGFja1stLXNwXTsKCX0KfQoKaW50IGlzRnVsbCh2b2lkKQp7CglpZihzcD5TSVpFKXsKCQlyZXR1cm4gMTsKCX1lbHNlewoJCXJldHVybiAwOwoJfQp9CgppbnQgaXNFbXB0eSh2b2lkKQp7CglpZihzcDw9MCl7CgkJcmV0dXJuIDE7Cgl9ZWxzZXsKCQlyZXR1cm4gMDsKCX0KfQoKdm9pZCBhbnN3ZXIodm9pZCkKewoJcHJpbnRmKCJhbnN3ZXI6JWYiLHN0YWNrW3NwLTFdKTsKfQoKdm9pZCByZXNldCh2b2lkKQp7CglzcD0wOwp9