[说明] 在进行文法分析的时候,通常需要检测一个单词是否在我们的单词列表里。为了提

题型:问答题

问题:

[说明]
在进行文法分析的时候,通常需要检测一个单词是否在我们的单词列表里。为了提高查找和定位的速度,通常都要画出与单词列表所对应的单词查找树。
程序构造一棵二叉排序树,每个节点存储一个单词,按字典序列,较小的在左子树,较大的在右子树。
函数中使用的预定义符号如下:
typedef struct TreeNode/*二叉排序树节点*/
char *word;
struct TreeNode *left, *right;
BNODE;
[函数]
int getWord(FILE *fpt, char *word)
/*从文件fpt中读取单词到word中,到达文件结束时返回0*/

char c;
c = fgetc(fpt);
if(c == EOF)return 0;
/*跳过单词间的非字母字符*/
while(!(tolower(c) >= ’a’ && tolower(c) <= ’z’))
c = fgetc(fpt);
if(c == EOF)return 0;

/*不区分大小写*/
while(tolower(c) >= ’a’ && tolower(c) <= ’z’)
*word++ = c;
c = fqetc(fpt);

*word = ’\0’;
return 1;

void BTree(BNODE **t, char *word)

BNODE *ptr, *p;
int compres;
p = NITLL;
(1) ;
while(ptr)
compres = strcmp(word, (2) );
if(!compres)
return;
else
(3) ;
ptr = compres > 0 ptr->right : ptr->left;


ptr = (BNODE*)malloc(sizeof ptr);
ptr->left = ptr->right = NULL;
ptr->word = (char*)malloc(strlen(word) + 1);
strcpy(ptr->word, word);
if(p == NULL)
(4) ;
else if(compres > 0)
p->right = ptr;
else
p->left = ptr;


int main()

FILE *fpt;
char word[40];
BNODE *root = NULL;
if((fpt = fopen("text.in", "r")) == NULL)
printf("不能打开文件text.in! \n");
return 1;

while(getWord(fpt, word) == 1)
BTree (5) ;

fclose(fpt);
return 0;

考点:计算机软件水平考试中级软件设计师中级软件设计师下午试题
题型:问答题

我国第一部纪传体断代史是司马迁所写的《汉书》。[ ]

题型:问答题

全塑料泡沫拖鞋(鞋底与鞋面一体成型)

题型:问答题

试举三个实例说明,即使不用显微镜也可证明在我们的日常生活和环境中,到处有细菌活动着。

题型:问答题

结核性脑膜炎时,脑脊液中细胞学的变化是()

A.中性粒细胞增多明显

B.淋巴细胞增多明显

C.淋巴细胞明显减少

D.可见较多的含铁血黄素巨噬细胞

E.中性粒细胞增多同时淋巴细胞明显减少

题型:问答题

准备各个账户的未达账项的工作包括准备银行存款日记账的未达账项、银行对账单的未达账项、现金日记账及各类往来账的未达账项等。 ( )

更多题库