#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)
{
sp=0;
int resp,a,b;
double data;
while(1){
if(!resp) break;
switch(resp){
case 1:
pop();
pop();
data=stack[sp]+stack[sp+1];
push(data);
break;
case 2:
pop();
pop();
data=stack[sp]-stack[sp+1];
push(data);
break;
case 3:
pop();
pop();
data=stack[sp]*stack[sp+1];
push(data);
break;
case 4:
pop();
pop();
data=stack[sp]/stack[sp+1];
push(data);
break;
case 5:
push(data);
break;
case 9:
resp=0;
break;
}
}
answer();
reset();
return 0;
}
double pop(void)
{
if(isEmpty()){
printf("スタックが空で取り出せませんでした\n"); return 0;
}else{
return stack[sp--];
}
}
void push(double value)
{
if(isFull()){
}else{
stack[sp]=value;
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)
{
pop();
printf("answer:%lf",stack
[sp
--]); }
void reset()
{
sp=0;
}
I2luY2x1ZGU8c3RkaW8uaD4KCiNkZWZpbmUgU0laRSAxMApkb3VibGUgc3RhY2tbU0laRV07CmludCBzcDsKCnZvaWQgcHVzaChkb3VibGUgdmFsdWUpOwpkb3VibGUgcG9wKHZvaWQpOwppbnQgaXNGdWxsKHZvaWQpOwppbnQgaXNFbXB0eSh2b2lkKTsKdm9pZCBhbnN3ZXIodm9pZCk7CnZvaWQgcmVzZXQodm9pZCk7CgppbnQgbWFpbih2b2lkKQp7CglzcD0wOwoJaW50IHJlc3AsYSxiOwoJZG91YmxlIGRhdGE7CgogICB3aGlsZSgxKXsKCQlzY2FuZigiJWQiLCZyZXNwKTsKCQkKCQlpZighcmVzcCkgYnJlYWs7CgkJCgkJc3dpdGNoKHJlc3ApewoJCQljYXNlIDE6CgkJCQlwb3AoKTsKCQkJCXBvcCgpOwoJCQkJZGF0YT1zdGFja1tzcF0rc3RhY2tbc3ArMV07CgkJCQlwdXNoKGRhdGEpOwoJCQkJYnJlYWs7CgkJCWNhc2UgMjoKCQkJCXBvcCgpOwoJCQkJcG9wKCk7CgkJCQlkYXRhPXN0YWNrW3NwXS1zdGFja1tzcCsxXTsKCQkJCXB1c2goZGF0YSk7CgkJCQlicmVhazsKCQkJY2FzZSAzOgoJCQkJcG9wKCk7CgkJCQlwb3AoKTsKCQkJCWRhdGE9c3RhY2tbc3BdKnN0YWNrW3NwKzFdOwoJCQkJcHVzaChkYXRhKTsKCQkJCWJyZWFrOwoJCQljYXNlIDQ6CgkJCQlwb3AoKTsKCQkJCXBvcCgpOwoJCQkJZGF0YT1zdGFja1tzcF0vc3RhY2tbc3ArMV07CgkJCQlwdXNoKGRhdGEpOwoJCQkJYnJlYWs7CgkJCWNhc2UgNToKCQkJCXNjYW5mKCIlbGYiLCZkYXRhKTsKCQkJCXByaW50ZigiZGF0YTolbGZcbiIsZGF0YSk7CgkJCQlwdXNoKGRhdGEpOwoJCQkJYnJlYWs7CgkJCWNhc2UgOToKCQkJCXJlc3A9MDsKCQkJCWJyZWFrOwoJCX0KICAgfQogICBhbnN3ZXIoKTsKICAgcmVzZXQoKTsKICAgcmV0dXJuIDA7Cn0KCmRvdWJsZSBwb3Aodm9pZCkKewoJaWYoaXNFbXB0eSgpKXsKCQlwcmludGYoIuOCueOCv+ODg+OCr+OBjOepuuOBp+WPluOCiuWHuuOBm+OBvuOBm+OCk+OBp+OBl+OBn1xuIik7CgkJcmV0dXJuIDA7Cgl9ZWxzZXsKCQlyZXR1cm4gc3RhY2tbc3AtLV07Cgl9Cn0KCnZvaWQgcHVzaChkb3VibGUgdmFsdWUpCnsKCWlmKGlzRnVsbCgpKXsKCQlwcmludGYoIuOCueOCv+ODg+OCr+OBjOa6gOadr+OBp+WFpeOCiuOBvuOBm+OCk+OBp+OBl+OBn1xuIik7Cgl9ZWxzZXsKCQlzdGFja1tzcF09dmFsdWU7CgkJc3ArKzsKCX0KfQoKaW50IGlzRnVsbCh2b2lkKQp7CglpZihzcD49U0laRSl7CgkJcmV0dXJuIDE7Cgl9ZWxzZXsKCQlyZXR1cm4gMDsKCX0KfQoKaW50IGlzRW1wdHkodm9pZCkKewoJaWYoc3A8PTApewoJCXJldHVybiAxOwoJfWVsc2V7CgkJcmV0dXJuIDA7Cgl9Cn0KCnZvaWQgYW5zd2VyKHZvaWQpCnsKCXBvcCgpOwoJcHJpbnRmKCJhbnN3ZXI6JWxmIixzdGFja1tzcC0tXSk7Cn0KCnZvaWQgcmVzZXQoKQp7CglzcD0wOwp9