文章
188
粉丝
0
获赞
0
访问
52.5k

评分及理由
(1)得分及理由(满分4分)
学生第一次识别结果中基本设计思想存在逻辑错误:最后判断条件写成了“不大于2的奇数”,而题目要求是“不大于2的偶数”(即0或2),这是对题目条件的错误理解。第二次识别结果中已修正为“不大于2的偶数”,思路正确。根据“两次识别中只要有一次正确则不扣分”的原则,此处不扣分。但第一次识别中的错误属于逻辑错误,若严格按单次识别评分应扣分,但根据题目要求,以正确的一次为准,因此给满分4分。
得分:4分
(2)得分及理由(满分9分)
学生提供的代码存在以下问题:
1. 函数参数名与题目要求不一致(题目要求为MGraph G,学生代码中用了A或G但未明确类型,且函数名拼写有误IsExistELGraph/IsExistEulerGraph,应为IsExistEL)。
2. 变量a用于累计每个顶点的度,但未在每轮外层循环开始时清零,导致a会累积所有顶点的度之和,而不是每个顶点的度,这是严重的逻辑错误。
3. 代码中直接使用了未指明结构体成员的变量名(如numVertices、Edge),在C语言中应通过参数G来访问(如G.numVertices、G.Edge)。
4. 最后的else if条件多余,可以直接用else返回0。
根据标准答案,代码逻辑错误应扣分。虽然识别可能存在误写,但核心逻辑错误(变量a未重置)是明确的,扣分。
考虑到代码整体框架正确(双循环统计度、判断奇偶计数、最后检查0或2),但关键错误导致功能错误,扣4分。
得分:5分(满分9分)
(3)得分及理由(满分2分)
学生正确给出了时间复杂度O(n²)和空间复杂度O(1),与标准答案一致。
得分:2分
题目总分:4+5+2=11分
登录后发布评论
暂无评论,来抢沙发