东方博宜oj平台c 语言题库答案,东方博宜OJ
東方博宜OJ Online Judge FAQ
Q:這個在線裁判系統使用什么樣的編譯器和編譯選項?
A:系統運行于Debian/Ubuntu
Linux. 使用GNU GCC/G++ 作為C/C++編譯器,
Free Pascal 作為pascal 編譯器 ,用
openjdk-7 編譯 Java. 對應的編譯選項如下:
C:
gcc Main.c -o Main -fno-asm -O2 -Wall -lm --static -std=c99 -DONLINE_JUDGE
C++:
g++ -fno-asm -Wall -lm --static -std=c++11 -DONLINE_JUDGE -o Main Main.cc
Pascal:
fpc Main.pas -oMain -O1 -Co -Cr -Ct -Ci
Java:
javac -J-Xms32m -J-Xmx256m Main.java
*Java has 2 more seconds and 512M more memory when running and judging.
編譯器版本為(系統可能升級編譯器版本,這里直供參考):
gcc (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5
glibc 2.3.6
Free Pascal Compiler version 2.4.0-2 [2010/03/06] for i386
java version "1.6.0_22"
Q:程序怎樣取得輸入、進行輸出?
A:你的程序應該從標準輸入 stdin('Standard Input')獲取輸入,并將結果輸出到標準輸出 stdout('Standard Output').例如,在C語言可以使用 'scanf' ,在C++可以使用'cin' 進行輸入;在C使用 'printf' ,在C++使用'cout'進行輸出.
用戶程序不允許直接讀寫文件, 如果這樣做可能會判為運行時錯誤 "Runtime Error"。
下面是 1000題的參考答案
C++:
#include
using namespace std;
int main(){
int a,b;
while(cin >> a >> b)
cout << a+b << endl;
return 0;
}
C:
#include
int main(){
int a,b;
while(scanf("%d %d",&a, &b) != EOF)
printf("%d\n",a+b);
return 0;
}
PASCAL:
program p1001(Input,Output);
var
a,b:Integer;
begin
while not eof(Input) do
begin
Readln(a,b);
Writeln(a+b);
end;
end.
Java:
import java.util.*;
public class Main{
public static void main(String args[]){
Scanner cin = new Scanner(System.in);
int a, b;
while (cin.hasNext()){
a = cin.nextInt(); b = cin.nextInt();
System.out.println(a + b);
}
}
}
Q:為什么我的程序在自己的電腦上正常編譯,而系統告訴我編譯錯誤!
A:GCC的編譯標準與VC6有些不同,更加符合c/c++標準:
main 函數必須返回int, void main 的函數聲明會報編譯錯誤。
i 在循環外失去定義 "for(int i=0...){...}"
itoa 不是ansi標準函數.
__int64 不是ANSI標準定義,只能在VC使用, 但是可以使用long long聲明64位整數。
如果用了__int64,試試提交前加一句#define __int64 long long
Q:系統返回信息都是什么意思?
A:詳見下述:
Pending : 系統忙,你的答案在排隊等待.
Pending Rejudge: 因為數據更新或其他原因,系統將重新判你的答案.
Compiling : 正在編譯.
Running & Judging: 正在運行和判斷.
Accepted : 程序通過!
Presentation Error : 答案基本正確,但是格式不對。
Wrong Answer : 答案不對,僅僅通過樣例數據的測試并不一定是正確答案,一定還有你沒想到的地方.
Time Limit Exceeded : 運行超出時間限制,檢查下是否有死循環,或者應該有更快的計算方法。
Memory Limit Exceeded : 超出內存限制,數據可能需要壓縮,檢查內存是否有泄露。
Output Limit Exceeded: 輸出超過限制,你的輸出比正確答案長了兩倍.
Runtime Error : 運行時錯誤,非法的內存訪問,數組越界,指針漂移,調用禁用的系統函數。請點擊后獲得詳細輸出。
Compile Error : 編譯錯誤,請點擊后獲得編譯器的詳細輸出。
Q:如何參加在線比賽?
A:注冊 一個帳號,然后就可以練習,點擊比賽列表Contests可以看到正在進行的比賽并參加。
總結
以上是生活随笔為你收集整理的东方博宜oj平台c 语言题库答案,东方博宜OJ的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DT时代,大数据常用的软件工具有哪些?
- 下一篇: MFC CTreeCtrl节点重命名