北邮OJ常见问题1
需积分: 0 133 浏览量
更新于2022-08-03
1
收藏 229KB PDF 举报
【北邮OJ常见问题详解】
1. **程序的输入输出方式**
在北邮OJ平台上,程序的输入应当通过标准输入流(stdio)获取,即使用C语言中的`scanf`或C++中的`cin`。输出则应通过标准输出流(stdout)完成,如C的`printf`和C++的`cout`。避免使用文件操作,因为这可能导致运行时错误或答案错误。在C++中,`cin`和`cout`虽然易于使用,但相对于`scanf`和`printf`,它们的效率较低,可能导致时间超限错误(Time Limit Exceed)特别是在处理大量输入和输出时。
2. **编译器的选择**
北邮OJ支持三种编程语言环境:GNU C 4.6.3(GCC)、GNU C++ 4.6.3(G++)以及Java (OpenJDK 1.6.0_27)。使用时,需遵循特定的编译命令。例如,C语言代码可以这样编译:
```
gcc -o dest source_code.c -DONLINE-JUDGE -lm -std=c99
```
C++代码编译:
```
g++ -o dest source_code.c -DONLINE-JUDGE
```
Java代码编译:
```
javac Main.java -d .
```
3. **程序评判过程**
提交的代码首先会被保存,然后根据选择的语言进行编译。编译失败会返回编译错误。编译成功后,生成的可执行文件会被用来处理标准输入数据并生成输出文件。在此过程中,程序如果出现运行时错误、超时或输出超过限制,会得到相应的错误反馈。输出文件与正确答案进行比对,一致则通过,否则返回错误信息。
**注意**:处理64位整数时,C++中使用`long long`类型,输入输出需配合`lld`。例如:
```cpp
long long a, b;
scanf("%lld%lld", &a, &b);
printf("%lld\n", a + b);
```
4. **Judge返回的评价含义**
- **等待评测(Pending)**:代码正在等待评判。
- **通过(Accepted)**:恭喜,程序正确无误。
- **格式错误(Presentation Error)**:结果正确但输出格式不匹配,可能多输出了空格或换行等。
对于C和C++,可以参考以下基本的A+B问题的解决方案:
C语言:
```c
#include <stdio.h>
int main() {
int a, b;
scanf("%d%d", &a, &b);
printf("%d\n", a + b);
return 0;
}
```
C++语言:
```cpp
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
cout << a + b << endl;
return 0;
}
```
Java语言:
```java
import java.util.*;
public class Main {
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
int a = in.nextInt();
int b = in.nextInt();
System.out.println(a + b);
}
}
```
在编写程序时,确保遵循这些规范,以避免因不合规操作导致的运行时错误。

西门镜湖
- 粉丝: 30
最新资源
- 互联网+时代市场营销专业教学改革与创新探究.docx
- 互联网+96分答案资料讲解.docx
- 种子生活力、健康、重量测定及种子检验计算机管理.ppt
- 信息化在企业人力资源管理中的应用探究-1.docx
- 初中体育信息化课堂教学的困境与突破(1).docx
- 松翰单片机 SN8F5702程序例程.doc
- 从3G通信看我国通信业的发展-阶段.docx
- 太钢生产与物流信息化系统演示教学.ppt
- 移动互联网下母婴行业的转型之路教学文稿.ppt
- 成品油运输统计软件的研究与实现的开题报告.docx
- Javascript将数字转化成为货币格式字符串.doc
- 我国互联网金融控股公司风险防范问题研究.docx
- 基于PLC变频恒压供水控制系统设计开题报告(1).doc
- 电子科技大学2021年9月《物联网技术基础》作业考核试题及答案参考11.docx
- 大数据在教育领域的运用.doc
- 计算机网络安全方案设计教材课程.ppt