#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){
double data;
double cal1, cal2;
int resp;
if( resp == 9 ) break;
switch(resp){
case 1: cal1 = pop();
cal2 = pop();
push( cal2 + cal1 );
break;
case 2: cal1 = pop();
cal2 = pop();
push( cal2 - cal1 );
break;
case 3: cal1 = pop();
cal2 = pop();
push( cal2 * cal1 );
break;
case 4: cal1 = pop();
cal2 = pop();
push( cal2 / cal1 );
break;
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)
{
printf ("answer:%lf\n", stack
[0]); }
void reset(void)
{
while(!isEmpty())
pop();
}
CiNpbmNsdWRlPHN0ZGlvLmg+CiNkZWZpbmUgU0laRSAxMApkb3VibGUgc3RhY2tbU0laRV07CmludCBzcDsKdm9pZCBwdXNoKGRvdWJsZSB2YWx1ZSk7CmRvdWJsZSBwb3Aodm9pZCk7CmludCBpc0Z1bGwodm9pZCk7CmludCBpc0VtcHR5KHZvaWQpOwp2b2lkIGFuc3dlcih2b2lkKTsKdm9pZCByZXNldCh2b2lkKTsKaW50IG1haW4odm9pZCkKewpyZXNldCgpOwoKd2hpbGUoMSl7CmRvdWJsZSBkYXRhOwpkb3VibGUgY2FsMSwgY2FsMjsKaW50IHJlc3A7CgpzY2FuZigiJWQiLCAmcmVzcCk7CgppZiggcmVzcCA9PSA5ICkgYnJlYWs7Cgpzd2l0Y2gocmVzcCl7CmNhc2UgMTogY2FsMSA9IHBvcCgpOwogICAgICAgIGNhbDIgPSBwb3AoKTsKICAgICAgICBwdXNoKCBjYWwyICsgY2FsMSApOwogICAgICAgIGJyZWFrOwpjYXNlIDI6IGNhbDEgPSBwb3AoKTsKICAgICAgICBjYWwyID0gcG9wKCk7CiAgICAgICAgcHVzaCggY2FsMiAtIGNhbDEgKTsKICAgICAgICBicmVhazsKY2FzZSAzOiBjYWwxID0gcG9wKCk7CiAgICAgICAgY2FsMiA9IHBvcCgpOwogICAgICAgIHB1c2goIGNhbDIgKiBjYWwxICk7CiAgICAgICAgYnJlYWs7CmNhc2UgNDogY2FsMSA9IHBvcCgpOwogICAgICAgIGNhbDIgPSBwb3AoKTsKICAgICAgICBwdXNoKCBjYWwyIC8gY2FsMSApOwogICAgICAgIGJyZWFrOwpjYXNlIDU6IHByaW50ZigiZGF0YToiKTsgc2NhbmYoIiVsZiIsICZkYXRhKTsKICAgICAgICBwdXNoKCBkYXRhICk7CiAgICAgICAgcHJpbnRmKCIlbGZcbiIsIGRhdGEpOwogICAgICAgICBicmVhazsKfQp9CmFuc3dlcigpOwpyZXR1cm4gMDsKfQoKdm9pZCBwdXNoKGRvdWJsZSB2YWx1ZSkKewppZiggaXNGdWxsKCkgKXsKcHJpbnRmKCLjgrnjgr/jg4Pjgq/jgYzmuoDmna/jgaflhaXjgorjgb7jgZvjgpPjgafjgZfjgZ9cbiIpOwp9ZWxzZXsKc3RhY2tbc3ArK10gPSB2YWx1ZTsKfQp9CmRvdWJsZSBwb3Aodm9pZCkKewppZiggaXNFbXB0eSgpICl7CnByaW50Zigi44K544K/44OD44Kv44GM56m644Gn5Y+W44KK5Ye644Gb44G+44Gb44KT44Gn44GX44GfXAluIik7CnJldHVybiAwOwp9ZWxzZXsKcmV0dXJuIHN0YWNrWy0tc3BdOwp9Cn0KaW50IGlzRnVsbCh2b2lkKQp7CmlmKHNwID49IFNJWkUpewpyZXR1cm4gMTsKfWVsc2V7CnJldHVybiAwOwp9Cn0KaW50IGlzRW1wdHkodm9pZCkKewppZihzcCA8PSAwKXsKcmV0dXJuIDE7Cn1lbHNlewpyZXR1cm4gMDsKfQp9CnZvaWQgYW5zd2VyKHZvaWQpCnsKcHJpbnRmICgiXG4iKTsKcHJpbnRmICgiYW5zd2VyOiVsZlxuIiwgc3RhY2tbMF0pOwp9CnZvaWQgcmVzZXQodm9pZCkKewp3aGlsZSghaXNFbXB0eSgpKQpwb3AoKTsKfQ==