#include <stdio.h>
#define SIZE 10
int stack[SIZE];
int sp;
void push(int value);
int pop(void);
int isFull(void);
int isEmpty(void);
void answer(void);
void reset(void);
int main(void)
{
reset();
int resp, data;
while(1){
double data, cal1, cal2;
int resp;
if(resp==9) break;
switch(resp){
case 1: cal1=pop();
cal2 =pop();
push(cal1+cal2);
break;
case 2: cal1=pop();
cal2 =pop();
push(cal1-cal2);
break;
case 3: cal1=pop();
cal2 =pop();
push(cal1*cal2) ;
break;
case 4: cal1=pop();
cal2 =pop();
push(cal1/cal2);
break;
case 5:
push(data);
break;}
}
answer();
return 0;
}
void push(int value)
{
if( isFull() ){
}else{
stack[sp++] = value;
}
}
int 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)
{
for(int i=0; i<sp; i++){
printf("stack[%d]=%d \n", i
, stack
[i
]); }
}
void reset(void)
{
sp = 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFNJWkUgMTAKCmludCBzdGFja1tTSVpFXTsKaW50IHNwOwoKdm9pZCBwdXNoKGludCB2YWx1ZSk7CmludCBwb3Aodm9pZCk7CmludCBpc0Z1bGwodm9pZCk7CmludCBpc0VtcHR5KHZvaWQpOwp2b2lkIGFuc3dlcih2b2lkKTsKdm9pZCByZXNldCh2b2lkKTsKCmludCBtYWluKHZvaWQpCnsKICAgIHJlc2V0KCk7CiAgICBpbnQgcmVzcCwgZGF0YTsKCiAgICB3aGlsZSgxKXsKICAgIAlkb3VibGUgZGF0YSwgY2FsMSwgY2FsMjsKICAgIAlpbnQgcmVzcDsKICAgICAgICAKICAgICAgICBzY2FuZigiJWQiLCAmcmVzcCk7CgogICAgICAgIGlmKHJlc3A9PTkpIGJyZWFrOwoKICAgICAgICBzd2l0Y2gocmVzcCl7CiAgICAgICAgCQogICAgICAgICAKICAgICAgICAgICAgY2FzZSAxOiBjYWwxPXBvcCgpOwogICAgICAgICAgICAKICAgICAgICAgICAgY2FsMiA9cG9wKCk7CiAgICAgICAgICAgIHB1c2goY2FsMStjYWwyKTsKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBjYXNlIDI6IGNhbDE9cG9wKCk7CiAgICAgICAgICAgIAogICAgICAgICAgICBjYWwyID1wb3AoKTsKICAgICAgICAgICAgcHVzaChjYWwxLWNhbDIpOwogICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgY2FzZSAzOiAgY2FsMT1wb3AoKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIGNhbDIgPXBvcCgpOwogICAgICAgICAgICBwdXNoKGNhbDEqY2FsMikgOyAKICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIGNhc2UgNDogY2FsMT1wb3AoKTsKICAgICAgICAgICAgCiAgICAgICAgICAgIGNhbDIgPXBvcCgpOwogICAgICAgICAgICBwdXNoKGNhbDEvY2FsMik7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAKCiAgICAgICAgICBjYXNlIDU6CiAgICAgICAgICAgICAgICBzY2FuZigiJWQiLCAmZGF0YSk7CiAgICAgICAgICAgICAgICBwdXNoKGRhdGEpOwogICAgICAgICAgICAgICAgYnJlYWs7fQoKICAgICAgICBwcmludGYoInNwPSVkXG4iLCBzcCk7CiAgICB9CgogICAgYW5zd2VyKCk7CgogICAgcmV0dXJuIDA7Cn0KCnZvaWQgcHVzaChpbnQgdmFsdWUpCnsKICAgIGlmKCBpc0Z1bGwoKSApewogICAgICAgIHByaW50Zigi44K544K/44OD44Kv44GM5rqA5p2v44Gn5YWl44KK44G+44Gb44KT44Gn44GX44GfXG4iKTsKICAgIH1lbHNlewogICAgICAgIHN0YWNrW3NwKytdID0gdmFsdWU7CiAgICB9Cn0KCmludCBwb3Aodm9pZCkKewogICAgaWYoIGlzRW1wdHkoKSApewogICAgICAgIHByaW50Zigi44K544K/44OD44Kv44GM56m644Gn5Y+W44KK5Ye644Gb44G+44Gb44KT44Gn44GX44GfXG4iKTsKICAgICAgICByZXR1cm4gMDsKICAgIH1lbHNlewogICAgICAgIHJldHVybiBzdGFja1stLXNwXTsKICAgIH0KfQoKaW50IGlzRnVsbCh2b2lkKQp7CiAgICBpZihzcCA+PSBTSVpFKXsKICAgICAgICByZXR1cm4gMTsKICAgIH1lbHNlewogICAgICAgIHJldHVybiAwOwogICAgfQp9CgppbnQgaXNFbXB0eSh2b2lkKQp7CiAgICBpZihzcCA8PSAwKXsKICAgICAgICByZXR1cm4gMTsKICAgIH1lbHNlewogICAgICAgIHJldHVybiAwOwogICAgfQp9Cgp2b2lkIGFuc3dlcih2b2lkKQp7CiAgICBwcmludGYoIlxuIik7CiAgICBmb3IoaW50IGk9MDsgaTxzcDsgaSsrKXsKICAgICAgICBwcmludGYoInN0YWNrWyVkXT0lZCBcbiIsIGksIHN0YWNrW2ldKTsKICAgIH0KfQoKdm9pZCByZXNldCh2b2lkKQp7CiAgICBzcCA9IDA7Cn0=