机试的判卷方法是根据你编写的程序的运行情况,程序运行的每一步都会得出一个数据,可以看作是一个中间数据或者是临时数据,考试系统就是拿这个数据与标准答案作对比,对一步给一步的分。这样好处是不会因为仅仅是其中某一处小错误而全盘皆输;但坏处也很明显,就是如果你的编程思路与标准答案不一致,很可能出现程序正常运行并得到正确结果但仍然不得分的情况。因为不同的编程思路写出来的程序虽然最终目标一样,但运行中所产生的中间数据并不一致,所以练习时尽量参照官方教材的标准答案的思路,避免正确编程却不得分的情况。
另外不知道你所说的错误为0指的是不是编译运行的时候系统没有报错,错误数为0。这种情况下你的程序仍然可能存在错误,因为编译器毕竟不是万能的,不可能什么错误都检测得到。不是语法或括号、分号被漏掉这类关键性错误,它是检测不出来的。举个具体的例子,比如需要将某个变量定义为长整型但你不小心定义成了整型,或者中间漏掉一步非关键性语句,程序也是可以被正常编译运行的,编译器也不会报错,但结果可能完全变了样,自然得不到分了。其实你也可以试一下,找份上机题,就算你什么都不做直接编译运行它也不会报错,但你能说这个程序是对的吗?
个人感觉你的错误原因不外乎这些,希望能帮到你!
提交的地方错了
下次报名机试55块钱