文章

26

粉丝

0

获赞

0

访问

3.3k

头像
2027年408统考冲刺7+3套卷(一) - 第41题回答
数据结构
发布于2026年8月23日 18:16
阅读数 81


评分及理由

(1)得分及理由(满分3分)

学生的设计思想为:从下标1开始每次比较相邻两个元素,若不相等则返回前一个元素。其核心逻辑与标准答案一致,都是从成对元素中判断目标值,只是标准答案从下标0开始比较,学生从下标1开始(即比较a[1]与a[2]、a[3]与a[4]等),同样能正确找出只出现一次的元素(因为目标元素之前的配对均相等,目标元素与其后一个元素不等)。思路正确,逻辑成立,给3分。

(2)得分及理由(满分8分)

代码实现:
int search() {
  for(int i=1; i<n; i+=2) {
    if(a[i] != a[i+1])
      return a[i];
  }
}

该代码需要基于全局数组a和全局变量n,但原题要求函数参数形式(如int func(int *A, int n)),学生的函数没有参数,但注释说明a[]、n为全局变量,这在C/C++中也是合法的,功能上能够实现查找。核心循环逻辑正确:从i=1开始,每次比较a[i]与a[i+1],若不相等则返回a[i];若全部相等(即目标元素在最后),函数会没有返回值,存在缺陷——缺少最终的return a[n-1]语句。这是一个逻辑遗漏,会导致在目标元素为最后一个时函数返回未定义值。因此代码存在逻辑错误,扣3分。

代码缺少必要的注释(如“若循环结束则最后元素为目标”),但注释并非主要得分点,且已有基本注释,不额外扣分。综合代码正确性,本题得5分。

(3)得分及理由(满分2分)

学生明确写出时间复杂度为O(n),且是一次循环遍历,与标准答案一致,给2分。

题目总分:3+5+2=10分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发