文章
165
粉丝
0
获赞
10
访问
15.6k

评分及理由
(1)得分及理由(满分4分)
学生给出的基本设计思想与标准答案一致:将数组分为前p个元素和后n-p个元素,分别反转这两部分,然后整体反转。这种思路正确且高效。因此得4分。
(2)得分及理由(满分7分)
学生用C语言描述了算法,但存在以下问题:
1. 函数Reverse中循环条件`i <= (start + end) / 2`有误,正确应为`i < (start + end + 1)/2`或`i <= (start + end - 1)/2`,当前写法在部分情况下会导致重复交换或越界。
2. 函数ReverseFunc缺少参数n,且未说明R是全局变量还是参数,但根据上下文可推断R应为数组参数。
3. 代码中交换逻辑`R[end + start - i]`正确,但循环条件错误影响整体逻辑。
由于核心反转逻辑正确但存在明显实现错误,扣3分。得4分。
(3)得分及理由(满分2分)
学生正确分析了时间复杂度O(n)和空间复杂度O(1),与标准答案一致。得2分。
题目总分:4+4+2=10分
登录后发布评论
暂无评论,来抢沙发