文章

164

粉丝

0

获赞

1

访问

43.9k

头像
2023年(408)计算机学科专业基础综合试题 - 第41题回答
数据结构
发布于2025年11月28日 22:49
阅读数 41

(1)某点的入度即为临接矩阵中该所对应的列中不为0的值总和,出度即为改点邻接矩阵所对应的行中不为0的值总和,采用一个count记录K节点个数,对于每个节点,依次遍历其所在行和所在列得到入度和出度值,若满足出度大于入度,则count++,最后输出count即可

(2)

int printVertices(MGraph G)

int count=0;

for(int i=0;i<numVertices;i++)

{

int indegree=0;

int outdegree=0;

for(int j=0;j<numVertices;j++)

{

outdegree+= G.Edge[i][j];

indegree+= G.Edge[j][i];

}

if(outdegree>indegree){cout<<k节点:i<<endl;count++;

}

return count;

cout<<count;


评分及理由

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

得分:4分

理由:学生的设计思想完全正确。明确指出了通过遍历邻接矩阵来计算每个顶点的入度(对应列的非零值总和)和出度(对应行的非零值总和),然后比较出度和入度来识别K顶点,并统计个数。思路与标准答案一致,表述清晰。

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

得分:6分

理由:代码整体框架正确,核心逻辑(计算入度和出度的方法)与标准答案一致。但存在以下逻辑错误和细节问题:
1. 函数参数中的右括号使用了中文全角字符(`MGraph G)`),应改为半角字符(`MGraph G)`) - 扣1分
2. 循环条件中使用了未定义的变量`numVertices`,应为`G.numVertices` - 扣1分
3. 输出语句中`cout<),输出格式不符合题目要求(应输出顶点名称而非下标),且"k节点"应为"K顶点" - 扣1分
4. 函数结尾多了一个`cout<

题目总分:4+6=10分

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发