#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/* 関数宣言 */
void tsume(int i, int cnt, int *suuji, int *enzan);
/* main関数 */
int main(int cnt, char *indata[]) {
int i, j=0, k;
int kotae;
int suuji[100]={0};
int enzan[100]={0};
/* 数字と演算子を別々にスタック */
suuji[0]=atoi(*(indata+1));
for(i=2;i<cnt;i+=2) {
if(strchr(*(indata+i),'x')!=0) enzan[j]=4;
if(strchr(*(indata+i),'/')!=0) enzan[j]=3;
if(strchr(*(indata+i),'+')!=0) enzan[j]=2;
if(strchr(*(indata+i),'-')!=0) enzan[j]=1;
j++;
suuji[j]=atoi(*(indata+i+1));
}
cnt = (cnt-1)/2;
/* 掛け算 */
k=1;
while(k!=0){
k=0;
for(i=0;i<cnt;i++) {
if(enzan[i]==4) {
suuji[i] *= suuji[i+1];
tsume(i, cnt, suuji, enzan);
cnt--;
k++;
}
}
}
/* 割り算 */
k=1;
while(k!=0){
k=0;
for(i=0;i<cnt;i++) {
if(enzan[i]==3) {
suuji[i] /= suuji[i+1];
tsume(i, cnt, suuji, enzan);
cnt--;
k++;
}
}
}
/* 足し算引き算を順番に */
for(i=0;i<cnt;i++) {
if(enzan[i]==1) suuji[0]-=suuji[i+1];
if(enzan[i]==2) suuji[0]+=suuji[i+1];
}
printf("答え:%d\n",suuji[0]);
return 0;
}
/* 掛け算と割り算してスタックを詰める */
void tsume(int i, int cnt, int *suuji, int *enzan) {
int j;
for(j=i+1;j<cnt;j++) {
*(suuji+j)= *(suuji+j+1);
*(enzan+j-1)= *(enzan+j);
}
}