#include <stdio.h>//第1回提出課題
#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() {
reset();
while(1){
int resp;
double data,a,b;
if(resp==9) break;
switch(resp){
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;
}
}
answer();
return 0;
}
void push(double value){
if( isFull() ){
}
else{
stack[sp++]=value;
}
}
double pop(void){
if( isEmpty() ){
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){
if(sp>0){
printf("answer:%f\n",stack
[sp
-1]); }
}
void reset(void){
sp=0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Ly/nrKzvvJHlm57mj5Dlh7roqrLpoYwKCiNkZWZpbmUgU0laRSAxMApkb3VibGUgc3RhY2tbU0laRV07CmludCBzcDsKCnZvaWQgcHVzaChkb3VibGUgdmFsdWUpOwpkb3VibGUgcG9wKHZvaWQpOwppbnQgaXNGdWxsKHZvaWQpOwppbnQgaXNFbXB0eSh2b2lkKTsKdm9pZCBhbnN3ZXIodm9pZCk7CnZvaWQgcmVzZXQodm9pZCk7CmludCBtYWluKCkgewoJcmVzZXQoKTsKCXdoaWxlKDEpewoJCWludCByZXNwOwoJCWRvdWJsZSBkYXRhLGEsYjsKCQkKCQlzY2FuZigiJWQiLCZyZXNwKTsKCQkKCQlpZihyZXNwPT05KSBicmVhazsKCQkKCQlzd2l0Y2gocmVzcCl7CgkJCWNhc2UgMToKCQkJICAgIGI9cG9wKCk7CgkJCSAgICBhPXBvcCgpOwoJCQkgICAgcHVzaChhK2IpOwoJCQkgICAgYnJlYWs7CgkJCWNhc2UgMjoKCQkJICAgIGI9cG9wKCk7CgkJCSAgICBhPXBvcCgpOwoJCQkgICAgcHVzaChhLWIpOwoJCQkgICAgYnJlYWs7CgkJCWNhc2UgMzoKCQkJICAgIGI9cG9wKCk7CgkJCSAgICBhPXBvcCgpOwoJCQkgICAgcHVzaChhKmIpOwoJCQkgICAgYnJlYWs7CgkJCWNhc2UgNDoKCQkJICAgIGI9cG9wKCk7CgkJCSAgICBhPXBvcCgpOwoJCQkgICAgcHVzaChhL2IpOwoJCQkgICAgYnJlYWs7CgkJCWNhc2UgNToKCQkJICAgIHNjYW5mKCIlbGYiLCZkYXRhKTsKCQkJICAgIHByaW50ZigiZGF0YTolZlxuIixkYXRhKTsKCQkJICAgIHB1c2goZGF0YSk7CgkJCSAgICBicmVhazsKCQl9CgkJCgl9CgkKCWFuc3dlcigpOwoJCglyZXR1cm4gMDsKfQoKdm9pZCBwdXNoKGRvdWJsZSB2YWx1ZSl7CglpZiggaXNGdWxsKCkgKXsKCQlwcmludGYoIuOCueOCv+ODg+OCr+OBjOa6gOadr+OBp+WFpeOCiuOBvuOBm+OCk+OBp+OBl+OBn1xuIik7Cgl9CgllbHNlewoJCXN0YWNrW3NwKytdPXZhbHVlOwoJfQp9Cgpkb3VibGUgcG9wKHZvaWQpewoJaWYoIGlzRW1wdHkoKSApewoJCXByaW50Zigi44K544K/44OD44Kv44GM56m644Gn5Y+W44KK5Ye644Gb44G+44Gb44KT44Gn44GX44GfXG4iKTsKCQlyZXR1cm4gMDsKCX0KCWVsc2V7CgkJcmV0dXJuIHN0YWNrWy0tc3BdOwoJfQp9CgppbnQgaXNGdWxsKHZvaWQpewoJaWYoc3A+PVNJWkUpewoJCXJldHVybiAxOwoJfQoJZWxzZXsKCQlyZXR1cm4gMDsKCX0KfQoKaW50IGlzRW1wdHkodm9pZCl7CglpZihzcDw9MCl7CgkJcmV0dXJuIDE7Cgl9CgllbHNlewoJCXJldHVybiAwOwoJfQp9Cgp2b2lkIGFuc3dlcih2b2lkKXsKCXByaW50ZigiXG4iKTsKCWlmKHNwPjApewoJCXByaW50ZigiYW5zd2VyOiVmXG4iLHN0YWNrW3NwLTFdKTsKCX0KfQoKdm9pZCByZXNldCh2b2lkKXsKCXNwPTA7Cn0=