#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();
printf("1:+ 2:- 3:* 4:/ 5:data 9:end\n"); double a,b;
while(1){
int resp;
double data;
if(resp == 9) break;
switch(resp){
case 1:push(pop() + pop()); break;
case 2:a = pop(); b = pop();
push(b - a); break;
case 3:push(pop() * pop()); break;
case 4:a = pop(); b = pop();
push(b / a); break;
case 5:printf("push:"); scanf("%lf", &data
); printf("%lf\n", data
); push
(data
); break;
}
}
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){
return;
}
void reset(void){
sp = 0;
return;
}
I2luY2x1ZGU8c3RkaW8uaD4KCiNkZWZpbmUgU0laRSAxMApkb3VibGUgc3RhY2tbU0laRV07CmludCBzcDsKCnZvaWQgcHVzaChkb3VibGUgdmFsdWUpOwpkb3VibGUgcG9wKHZvaWQpOwppbnQgaXNGdWxsKHZvaWQpOwppbnQgaXNFbXB0eSh2b2lkKTsKdm9pZCBhbnN3ZXIodm9pZCk7CnZvaWQgcmVzZXQodm9pZCk7CgppbnQgbWFpbih2b2lkKQp7CiAgICByZXNldCgpOwogICAgcHJpbnRmKCIxOisgMjotIDM6KiA0Oi8gNTpkYXRhIDk6ZW5kXG4iKTsKICAgIGRvdWJsZSBhLGI7CiAgICAKd2hpbGUoMSl7CglpbnQgcmVzcDsKICAgIGRvdWJsZSBkYXRhOwoJCglzY2FuZigiJWQiLCAmcmVzcCk7CiAgIAlpZihyZXNwID09IDkpIGJyZWFrOwogICAKICAgc3dpdGNoKHJlc3ApewogICAKICAgCQogICAJY2FzZSAxOnB1c2gocG9wKCkgKyBwb3AoKSk7IGJyZWFrOwogICAJCiAgIAljYXNlIDI6YSA9IHBvcCgpOyBiID0gcG9wKCk7CiAgIAkgICAgICAgcHVzaChiIC0gYSk7IGJyZWFrOwogICAJCiAgIAljYXNlIDM6cHVzaChwb3AoKSAqIHBvcCgpKTsgYnJlYWs7CiAgIAkKICAgCWNhc2UgNDphID0gcG9wKCk7IGIgPSBwb3AoKTsKICAgCSAgICAgICBwdXNoKGIgLyBhKTsgYnJlYWs7CiAgIAkKICAgCWNhc2UgNTpwcmludGYoInB1c2g6Iik7IHNjYW5mKCIlbGYiLCAmZGF0YSk7IHByaW50ZigiJWxmXG4iLCBkYXRhKTsgcHVzaChkYXRhKTsgYnJlYWs7CiAgIAkKICAgfQp9CiAgICBhbnN3ZXIoKTsKCiAgICByZXR1cm4gMDsKfQoKdm9pZCBwdXNoKGRvdWJsZSB2YWx1ZSl7CglpZihpc0Z1bGwpewoJCXByaW50Zigi44K544K/44OD44Kv5rqA5p2vXG4iKTsKCX0KCWVsc2V7CgkJc3RhY2tbc3ArK10gPSB2YWx1ZTsKCX0KfQoKZG91YmxlIHBvcCh2b2lkKXsKCWlmKGlzRW1wdHkpewoJCXByaW50Zigi44K544K/44OD44Kv56m6XG4iKTsKCQlyZXR1cm4gMDsKCX0KCWVsc2V7CgkJcmV0dXJuIHN0YWNrWy0tc3BdOwoJfQp9CgppbnQgaXNGdWxsKHZvaWQpewoJaWYoc3AgPj0gU0laRSl7CgkJcmV0dXJuIDE7Cgl9CgllbHNlewoJCXJldHVybiAwOwoJfQp9CgppbnQgaXNFbXB0eSh2b2lkKXsKCWlmKHNwIDw9IDApewoJCXJldHVybiAxOwoJfQoJZWxzZXsKCQlyZXR1cm4gMDsKCX0KfQoKdm9pZCBhbnN3ZXIodm9pZCl7CglwcmludGYoIuioiOeul+e1kOaenO+8miVsZiIsIHN0YWNrWzBdKTsKCXJldHVybjsKfQoKdm9pZCByZXNldCh2b2lkKXsKCXNwID0gMDsKCXJldHVybjsKfQo=