问题

●试题五

阅读下列程序说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。

【程序5说明】

设M叉树采用列表法表示,即每棵子树对应一个列表,列表的结构为:子树根结点的值部分(设为一个字符)和用"()"括起来的各子树的列表(如有子树的话),各子列表间用","分隔。例如下面的三叉树可用列表a(b(c,d),e,f(g,h,i))表示。

本程序输入列表,生成一棵M叉树,并由M叉树输出列表。假定输入无错误。

【程序5】

#include<stdio.h>

#include<stdli

B.h>

#define M 3

typedef struct node{char val;

struct node*subTree[M];

}NODE;

char buf[255],*str=buf;

NODE*d=NULL

NODE*makeTree()/*由列表生成M叉树*/

{int k;NODE*s;

s= (1) ;

s->val=*str++;

for(k=0;k<M;k++)s->subTree[k]=NULL;

if(*str=′(′){

k=0;

do{str++;

s->subTree[k]= (2) ;

if(*str==′)′){str++;break;}

k=k+1;

}while( (3) );

}

return s;

}

void walkTree(NODE*t)/*由M叉树输出列表*/

{int i;

if(t!=NULL){

(4)

if(t->subTree[0]==NULL)return;

putchar(′(′);

for(i=0;i<M;i++){

(5) ;

if(i!=M-1&&t->subTree[i+1]!= NULL)

putchar(′,′);

}

putchar(′)′);

}

}

void main()

{printf("Enter exp:");

scanf("%s",str);

d=makeTree();

walkTree(d);putchar(′\n′);

}

参考答案
您可能感兴趣的试题
  • ●试题六阅读下列程序说明和C++代码,将应填入(n)处的字句写在答卷的对应栏内。【说明】源程序中定义了Circle类与Money类,Circle类可对半径为r的圆进行周长与面积的计算,而Money类用
  • ●已知文法G[A],它定义的语言描述为糧 (1) 。G[A]:A → 0B|1CB → 1|1A|0BBC → 0|0A|1CC(1) A.G[A]定义的语言由0、1符号串组成,或者串中1的个数是0
  • ●利用并行处理技术可以缩短计算机的处理时间,所谓并行性是指 (2) 。可以采用多种措施来提高计算机系统的并行性,它们可分成三类,即 (3) 。提供专门用途的一类并行处理机(亦称阵列处理机)以 (4)
  • ●软件的易维护性是指理解、改正、改进软件的难易程度。通常影响软件易维护性的因素有易理解性、易修改性和 (7) 。在软件的开发过程中往往采取各种措施来提高软件的易维护性。如采用 (8) 有助于提高软件的
  • ●在CORBA体系结构中, (12) 属于客户端接口。(12) A.静态IDLSkeletonsB.POAC.静态IDLStubsD.动态Skeletons
  • ●(13)是以科学、技术和实践经验的综合成果为基础,对重复性事物和概念所做的统一规定,经有关方面协商一致,由一个公认机构或主管机构的批准,以特定形式发布作为共同遵守的准则和依据。(13) A.标准化B
相关内容