文章

389

粉丝

5

获赞

19

访问

26.9k

头像
2017年计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年9月24日 21:48
阅读数 65


评分及理由

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

学生答案的基本设计思想与标准答案基本一致,都提到了使用中序遍历,并在适当位置添加括号以反映计算次序。学生答案中"根结点无需及操作数对应叶结点,无需括号括起"的表述虽然有些不通顺(可能是识别错误),但意思与标准答案的"表达式的最外层(对应根结点)及操作数(对应叶结点)不需要添加括号"相符。因此,设计思想部分基本正确。但学生答案没有明确说明何时需要加括号(即非根节点且非叶子节点的分支节点需要加括号),表述不够完整和清晰。扣1分。

得分:4分

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

学生的代码实现存在多处严重错误:

  1. 函数定义语法错误:int void Btree *(Btree *root)void Btree (Btree * root) 的写法不符合C/C++语法。
  2. 函数调用错误:Btree croot,1);Btree (deep+1); 的调用方式不正确,缺少函数名和参数。
  3. 逻辑结构错误:代码中缺少对左子树和右子树的递归调用,也没有输出操作符的部分,这导致无法正确生成中缀表达式。
  4. 控制流错误:if 语句后多写了分号,如 if(deep>1);,这会导致条件判断失效。
  5. 参数传递错误:函数 void Btree (Btree * root) 没有接收 deep 参数,但在函数体内使用了 deep

这些错误表明代码无法正确实现所需功能,逻辑不完整且存在语法错误。根据代码描述部分的评分标准,应扣除大部分分数。

得分:2分(仅因识别出中序遍历和括号的基本想法给予部分分数)

题目总分:4+2=6分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发