首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列C程序和程序说明,将应填入(n)处的字句写在对应栏内。 【说明】本程序从正文文件text.in中读入一篇英文短文,统计该短文中不同单词及出现次数,并按词典编辑顺序将单词及出现次数输出到正文文件word.out中。 程序用一棵有序二叉树存
阅读下列C程序和程序说明,将应填入(n)处的字句写在对应栏内。 【说明】本程序从正文文件text.in中读入一篇英文短文,统计该短文中不同单词及出现次数,并按词典编辑顺序将单词及出现次数输出到正文文件word.out中。 程序用一棵有序二叉树存
admin
2009-02-15
59
问题
阅读下列C程序和程序说明,将应填入(n)处的字句写在对应栏内。
【说明】本程序从正文文件text.in中读入一篇英文短文,统计该短文中不同单词及出现次数,并按词典编辑顺序将单词及出现次数输出到正文文件word.out中。
程序用一棵有序二叉树存储这些单词及其出现的次数,边读入边建立,然后中序遍历该二叉树,将遍历经过的二叉树上的结点的内容输出。
#include <stdio.h>
#include <malloc.h>
#include <ctype.h>
#include <string.h>
#define INF "text.in"
#define OUTF "wotd.out"
typedef struct treenode{
char *word;
int count;
struct treenode *left,*right;
}BNODE
int getword (FILE *fpt,char *word)
{ 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=fgetc (fpt);
}
*word=’\0’;
return 1;
}
void binary_tree(BNODE **t,char *word)
{ BNODE *ptr,*p;int compres;
P=NULL; (1);
while (ptr) /*寻找插入位置*/
{ compres=strcmp (word, (2) );/*保存当前比较结果*/
if (!compres)
{ (3);return;}
else
{ (4);
ptr=compres>0? ptr->right:ptr->left;
}
}
ptr= (BNODE*) malloc (sizeof (BNODE)) ;
ptr->left = ptr->right = NULL;
ptr->word= (char*) malloc (strlen (word) +1) ;
strcpy (ptr->word, word);
ptr->count - 1;
if (p==NULL)
(5);
else if (compres > 0)
p->right = ptr;
else
p->left = ptr;
}
void midorder (FILE **fpt, BNODE *t)
{ if (t==NULL)
return;
midorder (fpt, t->left);
fprintf (fpt, "%s %d\n", t->word, t->count)
midorder (fpt, t->right);
}
void main()
{ FILE *fpt; char word[40];
BNODE *root=NULL;
if ((fpt=fopen (INF,"r")) ==NULL)
{ printf ("Can’t open file %s\n", INF )
return;
}
while (getword (fpt, word) ==1 )
binary_tree (&root, word );
fclose (fpt);
fpt = fopen (OUTF, "w");
if (fpt==NULL)
{ printf ("Can’t open file %s\n", OUTF)
return;
}
midorder (fpt, root);
fclose(fpt);
}
选项
答案
(1)ptr=*t (2)ptr->word或 (*ptr).word 或ptr[0].word (3)ptr->count++ (4)p=ptr (5)*t=ptr
解析
(1)ptr=*t
本处填空是函数binary_tree的开始处,进行初始化,应该是让指针ptr指向树的根结点*t。因此应该填入:ptr=*t。
(2)ptr->word或 (*ptr).word 或ptr[0].word
本处填空是将要插入的单词word与当前指针ptr所指的结点的word比较大小。
(3)ptr->count++
本处填空是当要插入的单词word与指针ptr所指的结点的word相同时的处理,必然是将指针ptr所指结点的计数器count加1。因此应该填入:ptr->count++。
(4)p=ptr
本处填空是当要插入的单词word与指针ptr所指结点的word不相同时的处理,必然是让p指向ptr,而ptr指向其左子树或右子树。因此应该填入:p=ptr。
(5)*t=ptr
本处填空是当p为空时的处理,应该是让树的根结点指针指向ptr以便返回。
转载请注明原文地址:https://kaotiyun.com/show/DwDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
在计算机体系结构中,CPU内部包括程序计数器PC、存储器数据寄存器MDR、指令寄存器IR和存储器地址寄存器MAR等。若CPU要执行的指令为:MOV R0,#100(即将数值100传送到寄存器R0中),则CPU首先要完成的操作是(1)。
以下关于软件质量特性测试的叙述,正确的是(44)。①成熟性测试是检验软件系统故障,或违反指定接口的情况下维持规定的性能水平有关的测试工作②功能性测试是检验适合性、准确性、互操作性、安全保密性、功能依从性的测试工作③易学性测试是
假设A、B为布尔变量,对于逻辑表达式(A&&B||C),需要______个测试用例才能完成判定覆盖(DC)。A.2B.3C.4D.5
若二维数组arr[1..M,1..N]的首地址为base,数组元素按列存储且每个元素占用K个存储单元,则元素arr[i,j]在该数组空间的地址为______。
软件内部/外部质最模型中,()不是功能性包括的子特性。
软件配置管理中,基线的种类不包括()。
()模型吸收了软件工程“演化”的概念,使用原型及其他方法来尽量降低风险,适合于大型复杂软件系统的开发。
某单位局域网配置如下图所示,PC2发送到Intemet上的报文的源IP地址为()。
以下关于用例图的叙述中,不正确的是(44)。图书馆管理系统需求中包含“还书”用例和“到书通知”用例,对于“还书”用例,应先查询该书是否有人预定,若有则执行“到书通知”。“还书”用例和“到书通知”用例是(45)关系,以下用例图中,(46)是正确的。管理员处
以下所示程序控制流程图中有(59)条线性无关的基本路径。
随机试题
方山子,光、黄间隐人也。少时慕朱家、郭解为人,闾里之侠皆宗之。稍壮,折节读书,欲以此驰骋当世,然终不遇。晚乃遁于光、黄间,日岐亭。庵居蔬食,不与世相闻;弃车马,毁冠服,徒步往来山中,人莫识也。见其所著帽,方耸而高,曰:“此岂古方山冠之遗像乎?”因谓之方山子
发药窗口应做到
在GB/T2828.1中规定了多种严格度,有()检验。
根据2015年中共中央政治局审议通过的《京津冀协同发展规划纲要》,北京的城市功能定位为()。
根据提供的材料,按要求完成设计。某版本教材中有如下活动设计:环境中植被类型不同,蒸腾作用的程度有所差异,我们可以通过比较三种不同植被环境的空气温度和湿度来了解生物对环境的影响。活动以小组为单位进行,每组4-6人。活动目标:①学会用干湿计测量裸地、
爱莲说水陆草木之花,可爱者甚蕃。晋陶渊明独爱菊。自李唐来,世人盛爱牡丹。予独爱莲之出淤泥而不染,濯清涟而不妖,中通外直,不蔓不枝,香远益清,亭亭净植,可远观而不可亵玩焉。予谓菊,花之隐逸者也;牡丹,花之富贵者也;莲,花之君子者也。噫!菊
在人类突破自身极限的过程中,技术进步_______。世界体育成绩的总体表现呈上升趋势,这在很大程度上取决于人们对健身、调节、饮食与营养的理解和重视,同样还需要感谢装备和训练等技术条件的进步对人类发掘自身潜力的促进。但仍有一种_______的趋势值得警惕:人
蒙台梭利的儿童发展观偏重了()
In1959theaverageAmericanfamilypaid$989forayear’ssupplyoffood.In1972thefamilypaid$1,311.Thatwasaprice
A.abuseB.appreciatedC.attractedD.linkedE.mixtureF.unionG.perceivedH.setI.mergeJ.disappearK.measured
最新回复
(
0
)