文章

3

粉丝

0

获赞

0

访问

1.9k

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

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

(1) 循环判断相邻两个值是否相等,如果相等则继续向下判断,如果不同则求出结果

 (2)

#include<iostream>
using namespace std;
int main(){
	int n;
	cin>>n;
	int a[100];
	for(int i=0;i<n;i++){
		cin>>a[i];
	}
	int t=0;
	int i=0;
	while(1){
		if(a[i]==a[i+1])i++;
			else {
				t=a[i]; 
				break;
			}
		i++;
	}

	cout<<t;
	return 0;
}

(3)O(n)


评分及理由

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

得分:2分。学生的设计思想基本正确,但表述不够精确。标准答案明确提到“顺序遍历坐标为偶数的元素”,而学生仅提到“循环判断相邻两个值是否相等”,没有明确指出遍历的起始位置和步长。因此扣1分。

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

得分:6分。学生的代码实现了基本功能,但存在以下问题:

  • 代码逻辑不够高效,标准答案通过步长为2的遍历直接定位到可能的目标元素,而学生的代码每次步长为1,效率稍低。
  • 代码中存在潜在越界风险(如a[i+1]可能越界),但未处理边界情况(如最后一个元素为目标元素时)。
  • 代码未封装为函数,不符合题目要求的“设计算法”的描述形式。

因此扣2分。

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

得分:2分。学生正确给出了时间复杂度为O(n),与标准答案一致。

题目总分:2+6+2=10分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发