ACM錯誤提示、常見問題_第1頁
ACM錯誤提示、常見問題_第2頁
ACM錯誤提示、常見問題_第3頁
ACM錯誤提示、常見問題_第4頁
ACM錯誤提示、常見問題_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、ACM昔誤提示、常見問題F.A.Q.(Chinese) 我的程序為什么不能編譯通過呢?Online Judge 要求C/C+叫序符合Ansi標準:ANSI 標準和 Microsoft Visual C+ 存在一些不同的地方,比方:0)main 函數(shù)必須聲明為 int ,也就是 void main() 必須變成 int main()VC同樣可使用int main ,只是程序最后需要return 0;。1)Microsoft Visual C+ 可以將 main 函數(shù)聲明為 void ,而 ANSI 中必須 為 int main請防止使用如下方式聲明變量ifor (int i=0; i10; i+

2、)您可以在 For 語句之前,進行聲明。3)itoa 不是一個 ANSI 函數(shù)4)stricmp 不是一個 ANSI 函數(shù)5)sqrt() 的可能用法: sqrt(double (x); /強制轉(zhuǎn)換為 double6)OnlineJudge 中如何使用 64 位數(shù)?定義 64位數(shù)使用 long long 類型, 輸出格式串中使用 %lld 表示 64 位數(shù)。雖然 Free Pascal 盡量設計得和Turbo Pascal 接近,但是由于以下的兩個原因,兩者之間還是有一些區(qū)別的:Free Pascal 是一個 32 位的編譯器, 而 Turbo Pascal 只是 16 位編譯器;Free P

3、ascal 是一個跨平臺的編譯器,而Turbo Pascal 只在 windows 上使用。如果你的代碼是遵守ANSIPascal 的, 那么代碼從Turbo Pascal 移植到 FreePascal 是沒有問題的。下面是在 Turbo Pascal 上可以使用,但是在 Free Pascal 就不能使用的一 些語言特性:函數(shù)和過程在使用時,參數(shù)的類型必須和定義時完全一致。原因是在 Free Pascal 中添加了函數(shù)重載功能。PROTECTEDPUBLIC PUBLISHEDTRY FINALLY EXCEPT RAISE成為 了關(guān)鍵字,因此不能作為函數(shù)和過程的名字。FAR, NEA杯再是

4、關(guān)鍵字了。原因是 Free Pascal是32位系統(tǒng),不再 需要這些關(guān)鍵字。布爾表達式不一定要全部進行計算。 只要最終結(jié)果已經(jīng)能夠確定, 就不 再計算其它還沒有計算的部分了。比方布爾表達式exp1 ANDexp2 ANDexp3,如果已知exp1的結(jié)果是false ,那么怎么表達式的結(jié)果肯定是false , exp2 和 exp3 就不用進行計算了。在 Free Pascal 中,中的元素都是4 個字節(jié)長的。表達式執(zhí)行的順序是不確定的。比方對于表達式a:=g(2)+f(3); 不保證 g(2) 一定在 f(3) 之前執(zhí)行。如果用 Rewrite 打開文件, 那么文件就只能被寫入了。 如果需要讀

5、取這個文件,要對文件執(zhí)行Reset 。Free Pascal 在程序結(jié)束之前一定要關(guān)閉輸出文件,否則輸出文件可能不能被正確的寫入。Free Pascal理論上可以使用4GB的內(nèi)存,因此實際上幾乎可以使用系 統(tǒng)中的所有剩余內(nèi)存除非賽題中有內(nèi)存限制 。這是 Free Pascal 由于 32 位的編譯器。但是對于 Turbo Pascal 來說,由于是 16 位的編譯器,因此不能定義大小超過64KB的數(shù)據(jù)類型和變量,并且在DO弦模式下可以 使用的內(nèi)存總數(shù)只有640KB。Online Judge 評判結(jié)果分別表示什么意思?當你提交的程序被 Online Judge 評判完畢后,通常結(jié)果將立刻返回,或

6、者你也可以在“ Solutions ”頁看到評判結(jié)果。詳細測試多數(shù)據(jù)測試模式下, 將顯示出各個測試數(shù)據(jù)的測試結(jié)果, 并且無論結(jié)果如何,都會用所有測試數(shù)據(jù)進行測試。而一般多測試模式下, 如果全對, 則為 Accepted ; 假設其中某次數(shù)據(jù)出錯,則評測中止,并返回此數(shù)據(jù)出錯的信息。常見的 Online Judge 將評判結(jié)果分為如下幾類:Accepted程序的輸出完全滿足題意,通過了全部的測試數(shù)據(jù)的測試。Wrong Answer你的程序順利地運行完畢并正常退出,但是輸出的結(jié)果卻是錯誤的。注意: 有的題包含多組測試數(shù)據(jù), 你的程序只要有一組數(shù)據(jù)是錯誤的,結(jié)果就是WA。Presentation E

7、rror你的程序輸出的答案是正確的,但輸出格式不對,比方多寫了一些空格、換行。請注意,大部分程序的輸出,都要求最終輸出一個換行。不過,電腦程序是很難準確判斷PE錯誤的,所以,很多PE錯誤都會被評判成WA。Compilation Error你的程序沒有通過編譯。你可以點擊文字上的鏈接,查看詳細的出錯信息,對照此信息,可以找出出錯原因。一般來說,這種錯誤主要是由 Linux 環(huán)境下相關(guān)編譯器與你使用的本地編譯器之間的差異造成的Judging我們正在運行你的程序進行測試,請稍候。Rejudging我們更新了測試數(shù)據(jù)或者評判程序,并且正在進行重測,這個過程比較消耗資源,請稍候。Time Limit E

8、xceeded你的程序運行的時間超過了該題規(guī)定的最大時間, 你的程序被OnlineJudge 強行終止。注意:TE并不能說明你的程序的運行結(jié)果是對還是錯,只能說明你的 程序用了太多的時間。Memory Limit Exceeded你的程序運行時使用的內(nèi)存,超過了該題規(guī)定的最大限制,或者你的程序申請內(nèi)存失敗,你的程序?qū)⒈籓nline Judge 強行終止。注意:ML并不能說明你的程序的運行結(jié)果是對還是錯,只能說明你的 程序用了或者申請了太多的內(nèi)存。Function Limit Exceeded你的程序運行時使用我們不允許使用的調(diào)用,將會得到此錯誤,諸如文件操作等相關(guān)函數(shù)。請?zhí)貏e注意: syste

9、m(PAUSE); 也會導致此錯誤。Output Limit Exceeded你的程序輸出了太多的東西。Online Judge規(guī)定提交的程序在運行的時候只能輸出1024K字節(jié)的東西,如果你輸出太多,將導致此錯誤。我們保證所有的題目的標準輸出都小于1024K字節(jié)。Runtime Error你的程序出現(xiàn)了“運行時錯誤” 。大部分情況下,NKOJg統(tǒng)將返回給你一個Runtime Error的編號,由 SIG或FPE開頭,后面跟隨一個整數(shù)。具體的解釋請點擊此處查看。System Error系統(tǒng)發(fā)生了錯誤。由于異常因素導致系統(tǒng)沒有正常運作。我們盡力保證系統(tǒng)的穩(wěn)定運行,但如您遇此情況,請聯(lián)系管理員。On

10、line Judge 支持哪些編程語言?到目前為止,本Online Judge 已經(jīng)支持 C 、 C+、 PASCA、L JAVA 編程語言如果題目包含多組測試數(shù)據(jù),我應該在何時輸出我的結(jié)果?OnlineJudge 中,你的程序的輸入和輸出是相互的,因此,每當處理完一組測試數(shù)據(jù), 就應當按題目要求進行相應的輸出操作。 而不必將所有結(jié)果儲存起來一起輸出。GCC中如何使用64位數(shù)?定義 64位數(shù)使用 long long 類型, 輸出格式串中使用 %lld 表示 64 位數(shù)。關(guān)于本系統(tǒng)本系統(tǒng)內(nèi)核部分 孫威、王巖,WEB?分 王巖。自主開發(fā),保留一切權(quán) 利。南開大學信息學院、南開大學ACM&會Runt

11、ime Error 代號介紹SIG (Signal,Linux 系統(tǒng)信號 ) 部分:(4)SIGILL 執(zhí)行了非法指令. 通常是因為可執(zhí)行文件本身出現(xiàn)錯誤, 或者試圖執(zhí)行數(shù)據(jù)段. 堆棧溢出時也有可能產(chǎn)生這個信號.(6)SIGABRT 程序自己發(fā)現(xiàn)錯誤并調(diào)用 abort 時產(chǎn)生 .(6)SIGIOT 在PDP-11上由iot指令產(chǎn)生,在其它機器上和 SIGABRK樣.(7)SIGBUS 非法地址 , 包括內(nèi)存地址對齊(alignment) 出錯 . eg: 訪問一個四個字長的整數(shù), 但其地址不是4 的倍數(shù) . TOC o 1-5 h z (8)SIGFPE 在發(fā)生致命的算術(shù)運算錯誤時發(fā)出 . 不

12、僅包括浮點運算錯誤,還包括溢出及除數(shù)為 0 等其它所有的算術(shù)的錯誤.(11)SIGSEGV 試圖訪問未分配給自己的內(nèi)存, 或試圖往沒有寫權(quán)限的內(nèi)存地址寫數(shù)據(jù).造成這種錯誤的原因有很多,主要原因有三條:一、數(shù)據(jù)下標越界,包括越上界和越下界。二、堆棧溢出,比方遞歸層數(shù)過多。三、不恰當?shù)闹羔樖褂谩PC ( 由 Free Pascal 產(chǎn)生的錯誤代碼) :由于 OJ 系統(tǒng)已經(jīng)限制了程序的行為,所以以下部分代碼并不會實際出現(xiàn),此處列舉僅僅為了文檔相對完整。Invalid function number 錯誤的功能代碼File not found文件未找到Path not found目錄未發(fā)現(xiàn)Too m

13、any open files打開太多的文件File access denied 文件訪問拒絕Invalid file handle錯誤的文件句柄Invalid file access code 錯誤的文件訪問代碼Invalid drive number 錯誤的驅(qū)動器數(shù)字Cannot remove current directory 不能移動當前目錄Cannot rename across drives 不能跨越驅(qū)動器更改文件名Disk read error 磁盤讀錯誤Disk write error 磁盤寫錯誤File not assigned 文件未曾建立關(guān)聯(lián)File not open 文件

14、未打開File not open for input 文件不能打開讀數(shù)據(jù)File not open for output 文件不能打開寫數(shù)據(jù)106Invalid numeric format 錯誤的數(shù)字格式從標準輸入 (Text 文件 ) 中預期得到的數(shù)字格式不對.150 Disk is write-protected151 Bad drive request struct length152 Drive not ready154 CRC error in data156 Disk seek error157 Unknown media type158 Sector Not Found159

15、Printer out of paper160 Device write fault161 Device read fault162 Hardware failure200Division by zero被除數(shù)為 0.201Range check error如果你編譯你的程序時設置了方位檢查, 原因有可能是:數(shù)組訪問超過了聲明的范圍 .試圖給一個變量賦值超過其范圍 ( 例如枚舉類型).202Stack overflow error棧溢出棧增長超過了最大值(in which case the size of local variables shouldbe reduced to avoid th

16、is error), or the stack has become corrupt.只有當棧檢查時才出現(xiàn)該錯誤.203Heap overflow error堆溢出堆增長超過了上界. This is caused when trying to allocate memoryexlicitly with New, GetMem or ReallocMem, or when a class or object instance is created and no memory is left. Please note that, by default, Free Pascal provides a

17、 growing heap, i.e. the heap will try to allocate more memory if needed. However, if the heap has reached the maximum size allowed by the operating system or hardware, then you will get this error.204Invalid pointer operation錯誤的指針操作使用 Dispose or Freemem 時使用錯誤的指針( 特別的 , Nil)205Floating point overflow

18、浮點數(shù)上溢 TOC o 1-5 h z 你試圖使用或產(chǎn)生一個太大實數(shù).206Floating point underflow你試圖使用或產(chǎn)生一個太小實數(shù).207Invalid floating point operation錯誤的浮點數(shù)操作可能是你開平方根或者對數(shù)時使用負數(shù).210Object not initialized對象未初始化Whencompiled with range checking on, a program will report this error if you call a virtual method without having called istr constru

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論