#include <stdio.h>
int main() {
char c;
char arr[200];
int i = -1, n = 0;
while ((c = getchar()) != '\n' && n < 200) {
n++;
if(c == '+' || c == '-' || c == '*' || c == '/' || c == '(') {
if(i == -1 || c == '(' || arr[i] == '(' || (c == '*' || c == '/') && (arr[i] == '+' || arr[i] == '-'))
arr[++i] = c;
else {
putchar(arr[i--]);
if(arr[i] == '+' || arr[i] == '-') {
putchar(arr[i--]);
}
arr[++i] = c;
}
} else if(c == ')') {
while(arr[i] != '(') {
putchar(arr[i--]);
}
--i;
} else
putchar(c);
}
while(i != -1) {
putchar(arr[i--]);
}
printf("\n");
return 0;
}
中缀表达式转后缀表达式
最新推荐文章于 2024-09-10 17:47:38 发布