time limit: 1000 ms memory limit: 65536 kib
problem description
小明在學習了資料結構之後,突然想起了以前沒有解決的算術表示式轉化成字尾式的問題,今天他想解決一下。
因為有了資料結構的基礎小明很快就解出了這個問題,但是他突然想到怎麼求出算術表示式的字首式和中綴式呢?小明很困惑。聰明的你幫他解決吧。
input
輸入一算術表示式,以\'#\'字元作為結束標誌。(資料保證無空格,只有一組輸入)
output
輸出該表示式轉換所得到的字首式 中綴式 字尾式。分三行輸出,順序是字首式 中綴式 字尾式。
sample input
a*b+(c-d/e)*f#sample output
+*ab*-c/defhinta*b+c-d/e*f
ab*cde/-f*+
source
#include using namespace std;typedef struct node
stack;
char s1[123], s2[123];
void push(stack &s, char e)
void pop(stack &s, char &e)
void intit(stack &s)
int empty(stack s)
void tofront(stack &s, int n)
else if(s1[i]=='(')
s.top--;
}else
}while(!empty(s))
s2[j] = '\0';
for(j = j-1; j>=0; j--)
printf("%c", s2[j]);
printf("\n");
}void fx()
void tolast(stack &s, int n)
else if(s1[i]==')')
s.top--;
}else
}while(!empty(s))
s2[j] = '\0';
for(i = 0; s2[i]!='\0'; i++)
printf("%c", s2[i]);
printf("\n");
}int main()
算術表示式的轉換
小明在學習了資料結構之後,突然想起了以前沒有解決的算術表示式轉化成字尾式的問題,今天他想解決一下。因為有了資料結構的基礎小明很快就解出了這個問題,但是他突然想到怎麼求出算術表示式的字首式和中綴式呢?小明很困惑。聰明的你幫他解決吧。輸入 輸入一算術表示式,以 字元作為結束標誌。資料保證無空格,只有一組...
算術表示式的轉換
time limit 1000ms memory limit 65536k 小明在學習了資料結構之後,突然想起了以前沒有解決的算術表示式轉化成字尾式的問題,今天他想解決一下。因為有了資料結構的基礎小明很快就解出了這個問題,但是他突然想到怎麼求出算術表示式的字首式和中綴式呢?小明很困惑。聰明的你幫他解...
算術表示式的轉換
time limit 1000ms memory limit 65536k 小明在學習了資料結構之後,突然想起了以前沒有解決的算術表示式轉化成字尾式的問題,今天他想解決一下。因為有了資料結構的基礎小明很快就解出了這個問題,但是他突然想到怎麼求出算術表示式的字首式和中綴式呢?小明很困惑。聰明的你幫他解...