#1. 坏脾气的在线评测系统——OJ是什么?
坏脾气的在线评测系统——OJ是什么?
当前没有测试数据。
什么是 OJ?
现在你所使用的评测系统也仅仅是一个程序,并没有人工智能。因此很多地方需要你来迁就它,如果不这样做,你的答案即使本质上是正确的,由于形式的错误造成系统不能理解,也会导致错误。 系统运行过程如下:
- 教师在系统中添加题目,并严格定义题目提供输入数据的格式和要求的输出数据格式。
教师根据题目定义的格式向系统中添加若干组测试数据,每组数据都包含输入数据和对应的输出。 - 学生阅读题目,并根据自己的理解提交程序。
- 系统编译并运行学生的程序,再将老师事先提供的输入数据“喂”给学生的程序,看它会输出什么。
- 如果学生程序的输出与老师之前提供的输出完全一致,一字不差,则认为学生的程序是正确的,否则则认为该程序错误。
- 如果运行过程中出现内存、时间上超出题目限制的情况,则中断程序的运行,并认为答案不正确。
在了解了上面的情况以后,同学们应该理解,如果题目没有要求程序输出“Please Input Two Number”之类的提示信息,那么自行输出这些文字将导致你的程序输出与老师事先告诉系统的输出不能做到“一字不差”,因而将导致系统报答案错误。
如果题目要求每两行输出之间要空一行,结果你没有空,会是格式错误,反之亦然。
也许你会觉得,哦,这系统太烂了,这点东西都不能自动识别;实际上正是这样才能有效训练大家编程的精确性、养成良好的代码习惯。很多程序高手都跟你一样,是从对这个系统吐槽开始学习如何认真仔细的、一丝不苟的进行编程的。
系统为了能用统一的方式运行所有同学的答案,不得不对所有人提交的答案的形式进行限定。
对于学习C、C++语言的同学来说,所有提交给系统的答案必须包含并且只有一个main函数,这个main函数必须返回int类型,并且最好返回0,因为操作系统对非零的返回值认为是运行出错。
编译错误发生时,点击“编译错误”的文字链接可以得到详细解释。