文章

3

粉丝

0

获赞

0

访问

288

头像
【250518年】408计算机统考真题模拟考试 - 第41题答案笔记
数据结构
发布于2025年5月22日 00:08
阅读数 105

计算机考研408统考历年真题及答案解析

答:(1)遍历数组,初始有一个cnt为1,循环从下标1开始,如果A[i-1]不等于A[i+1]时当cnt不为零0 返回A[i-1],否则cnt置1,A[i-1]等于A[i+1]时cnt减一继续循环。
(2)

#include<stdio.h>
#define MAX_SIZE 7
int main() {
    int a[MAX_SIZE] = { 3, 3, 6, 6, 9, 0, 0 };
    int cnt = 1;
    for (int i = 1; i < MAX_SIZE; ++i) {
        if (a[i - 1] != a[i]) {
            if (cnt) printf("%d", a[i - 1]);
            else cnt = 1;
        }
        else cnt--;
    }
    return 0;
}

(3)时间复杂度为O(n),只需要遍历一次数组
 


评分及理由

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

得分:1分

理由:学生的设计思想描述不够清晰,且逻辑存在错误。题目要求找出仅出现一次的元素,而学生的思路是通过比较前后元素和计数器来判断,但描述不明确且逻辑混乱。例如,"A[i-1]不等于A[i+1]"的表述不准确,且计数器逻辑未正确体现题目要求。

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

得分:4分

理由:学生的代码实现与设计思想不完全一致,且存在逻辑错误。代码中比较的是a[i-1]和a[i],但输出逻辑不完整(缺少返回语句,直接打印可能导致多次输出),且未处...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发