首页 > 编程知识 正文

若有语句int*point,a=4,pta浙大版c语言程序设计第三版答案

时间:2023-05-03 06:42:28 阅读:156066 作者:1366

6-3有向图输出度0顶点(13点)题目:

在本问题中,要求实现输出有向图的所有图都为0的顶点的函数。

函数接口定义:

函数接口由voidprintv(mgraphg );

g是采用邻接矩阵作为存储器结构的有向图。

裁判测试程序样例:

#include stdio.h

#define MVNum 100 //最大顶点数typedef struct {

char vexs[MVNum]; //存储顶点的一维数组

int arcs[MVNum][MVNum]; //邻接矩阵

int vexnum,arcnum; //图的当前顶点数和弧数}MGraph; voidprintv(mgraphg ); voidcreatmgraph(mgraphg; /绘图*/int main () )。

MGraph G;

creatmgraph(g );

printv(g );

返回0; }voidcreatmgraph(mgraphg ) {

int i,j,k;

scanf('%d%d )、G-vexnum和G-arcnum );

getchar (;

for(I=0; i G-vexnum; I )

scanf('%c ',G-vexs[i] );

for(I=0; i G-vexnum; I )

for(j=0; j G-vexnum; j )

G-arcs[i][j]=0;

for(k=0; k G-arcnum; k ) {

scanf('%d%d ),I,j );

G-arcs[i][j]=1;

() /你的代码嵌入在这里() /

输入样例:

例如有向图

第1行给出图的顶点数n和弧数e。 第2行给出n个文字,表示n个顶点的数据要素的值。 后面是e行,给出了每个圆弧的两个顶点编号。

4 5

ABCD

1 0

2 0

2 1

3 2

3 1

输出样例:

输出有两行,第一行是输出为0的顶点数,第二行按照输入顺序输出所有输出为0的顶点元素的值。 顶点的元素值是字符类型,输出格式为每个字符后面带有空格。 如果没有出度为0的顶点,则输出只有1行,个数为0。

1

a

思路:

首先,计算各节点的曝光度。 为了计算有向图的第I个节点的计算方法,计算邻接矩阵的第I行的节点数之和,用od表示。 另外,计数角度为0的节点的总个数sum。

步骤2,对输出进行分类。 如果曝光度是0的节点数,则输出0; 如果存在曝光度为0的节点,则输出与总个数对应的节点。

C语言代码:

voidprintv(mgraphg ) { int sum=0; //出度0的顶点个数//计算各节点的出度for (inti=0; iG.vexnum; I ) { int od=0; for(intj=0; jG.vexnum; j () if ) g.ARCS[I][j]==1) od; (if ) od==0) sum; (if ) sum==0) ) printf('0); }elseif(sum0) printf (% dn ),sum ); for(intI=0; iG.vexnum; I ) { int od=0; for(intj=0; jG.vexnum; j () if ) g.ARCS[I][j]==1) od; (if ) od==0) ) printf ),G.vexs[i]; } } }}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。