#include<stdio.h>
#define SIZE 10
double stack[SIZE];
int sp;
void push(double value){
if(sp>=SIZE){
}
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){
}
void reset(void){
for(int n=0;n<SIZE;n++){
stack[n]=0;
}
sp=0;
}
int main(void){
sp=0;
int resp;
while(1){
printf("1:足し算 2:引き算 3:掛け算 4:割り算 5:データ入力 9:計算結果\n"); if(resp==0){
return 0;
}
switch(resp){
case 1:{
double a=pop(), b=pop();
push(b+a);
break;
}
case 2:{
double a=pop(), b=pop();
push(b-a);
break;
}
case 3:{
double a=pop(), b=pop();
push(b*a);
break;
}
case 4:{
double a=pop(), b=pop();
push(b/a);
break;
}
case 5:scanf("%lf",&stack
[sp
]); sp++;
break;
case 9:answer();
reset();
return 0;
}
}
}
I2luY2x1ZGU8c3RkaW8uaD4KCiNkZWZpbmUgU0laRSAxMApkb3VibGUgc3RhY2tbU0laRV07CmludCBzcDsKCnZvaWQgcHVzaChkb3VibGUgdmFsdWUpewppZihzcD49U0laRSl7CnByaW50Zigi44K544K/44OD44Kv44GM5rqA5p2v44Gn5YWl44KK44G+44Gb44KT44Gn44GX44GfXG4iKTsKfQplbHNlewpzdGFja1tzcCsrXT12YWx1ZTsKfQp9CmRvdWJsZSBwb3Aodm9pZCl7CmlmKHNwPD0wKXsKcHJpbnRmKCLjgrnjgr/jg4Pjgq/jgYznqbrjgaflj5bjgorlh7rjgZvjgb7jgZvjgpPjgafjgZfjgZ9cbiIpOwpyZXR1cm4gMDsKfQplbHNlewpyZXR1cm4gc3RhY2tbLS1zcF07Cn0KfQppbnQgaXNGdWxsKHZvaWQpewppZihzcD09U0laRSl7CnJldHVybiAxOwp9CmVsc2V7CnJldHVybiAwOwp9Cn0KaW50IGlzRW1wdHkodm9pZCl7CmlmKHNwPT0wKXsKcmV0dXJuIDE7Cn0KZWxzZXsKcmV0dXJuIDA7Cn0KfQp2b2lkIGFuc3dlcih2b2lkKXsKcHJpbnRmKCJhbnN3ZXI6JWxmXG4iLHBvcCgpKTsKfQp2b2lkIHJlc2V0KHZvaWQpewpmb3IoaW50IG49MDtuPFNJWkU7bisrKXsKc3RhY2tbbl09MDsKfQpzcD0wOwp9CgppbnQgbWFpbih2b2lkKXsKc3A9MDsKaW50IHJlc3A7CndoaWxlKDEpewpwcmludGYoIjE66Laz44GX566XIDI65byV44GN566XIDM65o6b44GR566XIDQ65Ymy44KK566XIDU644OH44O844K/5YWl5YqbIDk66KiI566X57WQ5p6cXG4iKTsKc2NhbmYoIiVkIiwmcmVzcCk7CmlmKHJlc3A9PTApewpyZXR1cm4gMDsKfQpzd2l0Y2gocmVzcCl7CmNhc2UgMTp7CmRvdWJsZSBhPXBvcCgpLCBiPXBvcCgpOwpwdXNoKGIrYSk7CmJyZWFrOwp9CmNhc2UgMjp7CmRvdWJsZSBhPXBvcCgpLCBiPXBvcCgpOwpwdXNoKGItYSk7CmJyZWFrOwp9CmNhc2UgMzp7CmRvdWJsZSBhPXBvcCgpLCBiPXBvcCgpOwpwdXNoKGIqYSk7CmJyZWFrOwp9CmNhc2UgNDp7CmRvdWJsZSBhPXBvcCgpLCBiPXBvcCgpOwpwdXNoKGIvYSk7CmJyZWFrOwp9CmNhc2UgNTpzY2FuZigiJWxmIiwmc3RhY2tbc3BdKTsKc3ArKzsKYnJlYWs7CmNhc2UgOTphbnN3ZXIoKTsKcmVzZXQoKTsKcmV0dXJuIDA7Cn0KfQp9Cgo=