#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 resp;
double data, data1,data2;
printf("1:+,2:-,3:*,4:/,5:input,9:kekka"); if(resp==9)break;
switch(resp){
case 1:
data1=pop();
data2=pop();
push(data1+data2);
break;
case 2:
data1=pop();
data2=pop();
push(data2-data1);
break;
case 3:
data1=pop();
data2=pop();
push(data1*data2);
break;
case 4:
data1=pop();
data2=pop();
push(data2/data1);
break;
case 5:
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%lf\n",stack
[sp
-1]); }
void reset(void){sp=0;
}
I2luY2x1ZGU8c3RkaW8uaD4KCiNkZWZpbmUgU0laRSAxMApkb3VibGUgc3RhY2tbU0laRV07CmludCBzcDsKCnZvaWQgcHVzaChkb3VibGUgdmFsdWUpOwpkb3VibGUgcG9wKHZvaWQpOwppbnQgaXNGdWxsKHZvaWQpOwppbnQgaXNFbXB0eSh2b2lkKTsKdm9pZCBhbnN3ZXIodm9pZCk7CnZvaWQgcmVzZXQodm9pZCk7CgppbnQgbWFpbih2b2lkKQp7CiAgICByZXNldCgpOwoKd2hpbGUoMSl7aW50IHJlc3A7CgkJCWRvdWJsZSBkYXRhLCBkYXRhMSxkYXRhMjsKcHJpbnRmKCIxOissMjotLDM6Kiw0Oi8sNTppbnB1dCw5Omtla2thIik7CnNjYW5mKCIlZCIsJnJlc3ApOwppZihyZXNwPT05KWJyZWFrOwpzd2l0Y2gocmVzcCl7CmNhc2UgMToKZGF0YTE9cG9wKCk7CmRhdGEyPXBvcCgpOwpwdXNoKGRhdGExK2RhdGEyKTsKYnJlYWs7CgpjYXNlIDI6CmRhdGExPXBvcCgpOwpkYXRhMj1wb3AoKTsKcHVzaChkYXRhMi1kYXRhMSk7CmJyZWFrOwoKY2FzZSAzOgpkYXRhMT1wb3AoKTsKZGF0YTI9cG9wKCk7CnB1c2goZGF0YTEqZGF0YTIpOwpicmVhazsKCmNhc2UgNDoKZGF0YTE9cG9wKCk7CmRhdGEyPXBvcCgpOwpwdXNoKGRhdGEyL2RhdGExKTsKYnJlYWs7CgpjYXNlIDU6CnNjYW5mKCIlbGYiLCZkYXRhKTsKcHVzaChkYXRhKTsKYnJlYWs7Cn0KCn0KYW5zd2VyKCk7CnJldHVybiAwOwoKfQp2b2lkIHB1c2goZG91YmxlIHZhbHVlKXtpZihzcD49U0laRSl7CnByaW50Zigi44K544K/44OD44Kv44GM5rqA5p2v44Gn5YWl44KK44G+44Gb44KT44Gn44GX44GfXG4iKTt9CmVsc2V7c3RhY2tbc3ArK109dmFsdWU7fQp9CmRvdWJsZSBwb3Aodm9pZCl7aWYoc3A8PTApewogcHJpbnRmKCLjgrnjgr/jg4Pjgq/jgYznqbrjgaflj5bjgorlh7rjgZvjgb7jgZvjgpPjgafjgZfjgZ9cbiIpOwpyZXR1cm4gMDt9CmVsc2V7cmV0dXJuIHN0YWNrWy0tc3BdO30KfQppbnQgaXNGdWxsKHZvaWQpe2lmKHNwPj1TSVpFKXsKcmV0dXJuIDE7fQplbHNleyByZXR1cm4gMDt9Cn0KaW50IGlzRW1wdHkodm9pZCl7aWYoc3A8PTApe3JldHVybiAxO30KZWxzZXsgcmV0dXJuIDA7fQp9CnZvaWQgYW5zd2VyKHZvaWQpe3ByaW50ZigiYW5zd2VyJWxmXG4iLHN0YWNrW3NwLTFdKTsKfQp2b2lkIHJlc2V0KHZvaWQpe3NwPTA7Cn0K
1:+,2:-,3:*,4:/,5:input,9:kekka1:+,2:-,3:*,4:/,5:input,9:kekka1:+,2:-,3:*,4:/,5:input,9:kekka1:+,2:-,3:*,4:/,5:input,9:kekkaanswer3.000000