第一次看题,实在没看懂,然后就去百度逆波兰表达式,结果百度百科里有把中缀表达式改为后缀表达式的算法
所以直接就写了出来
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
typedef struct stack{
char *base;
char *top;
}stack;
int pre(char sign){
switch (sign) {
case '+':
case '-':
return 1;
break;
case '*':
case '/':
return 2;
break;
case '^':
return 3;
break;
default:
return 0;
break;
}
}
int main(void)
{
stack sign;
int n,i;
char expre[100];
scanf("%d",&n);
while (n--) {
sign.base=(char*)malloc(100*sizeof(char));
sign.top=sign.base+1;
*sign.base='#';
scanf("%s",expre);
for (i=0; expre[i]!='#'; i++) {