考慮一個假想的編程語言規則如下:我如何用C
每個函數使用關鍵字「BEGIN」開始,那麼它的名字 每個函數結束時,必須有關鍵字「結束」。
要調用一個函數,關鍵字「CALL」就在函數的名稱前面使用。關鍵字「EXECUTE」意思是:「在沒有另一個函數的幫助下做一些工作」。
「完成」這個詞不是我們在這項任務中所關心的! 程序總是以行開始:「BEGIN Main」。
假設針對上述規則編寫了一些代碼,並將其存儲在名爲「code.prog」的文件中。在該文件中,還假設在每行的開始處存在「行號」。
編寫一個讀取此代碼(code.prog)的C程序,並用行號打印執行結果。 對於這個工作,你應該爲函數調用創建一堆行號。因此,另外,爲每個「函數調用」和「函數結束」打印棧的內容。
EXAMPLE
code.prg // this is the file
1 BEGIN Fun1
2 CALL Fun2
3 EXECUTE
4 END
5 BEGIN Fun2
6 EXECUTE
7 END
8 BEGIN Main
9 EXECUTE
10 CALL Fun1
11 END
輸出代碼:
Execution Order of Lines:
8
9
10 Stack = 10
1
2 Stack = 2 10
5
6
7 Stack = 10
3
4 Stack =
11 --- END ---
這不是一個編程競賽網站,您可以給出問題並解決用戶問題。有許多教程和在線編程競賽網站可用。嘗試一下,如果你在某些部分出現錯誤,那麼回來後我們會盡力解決這個錯誤。 –
like [this](http://ideone.com/QotaSJ) – BLUEPIXY