腾讯技术类笔试笔试题(校园)

合集下载

腾讯校园招聘笔试题附答案

腾讯校园招聘笔试题附答案

腾讯校园招聘笔试题及答案声明:题目来自网络,答案大部分来自网络并经过整理;有些是自己查资料和请教他人得来的。

1.1、有A、B、C、D四个人,要在夜里过一座桥。

他们通过这座桥分别需要耗时1、2、5、10分钟,只有一支手电,并且同时最多只能两个人一起过桥。

请问,如何安排,能够在17分钟内这四个人都过桥?答案:A & B -->2 mins1 mins <-- AC &D -->10 mins2 mins <-- BA &B --> 2 mins一共2 +1 +10 + 2 + 2 =17 mins1.2 、1-20的两个数把和告诉A,积告诉B,A说不知道是多少,B也说不知道,这时A说我知道了,B接着说我也知道了,问这两个数是多少?答案:2和3答案有3个:1 2和22 2和33 2和4第一个大概是(2,2)吧A得到的是2+2=4,B得到的是2*2=4开始A当然不知道,因为有可能是(2,2)或(1,3)这时B也不知道,因为有可能是(2,2)或(1,4),而且这两种情况A无均会答"不知道"这时,我就已经知道了,因为如果是(1,3),B得到的是3,只有(1,3)这种情况,就不会回答"不知道" 由B的答案,A可以肯定是(2,2)同样,A说"知道"了以后,B也就知道了因为如果是(1,4),A得到的是5,只凭第二步B说"不知道",A不可能在第三步便"知道"所以B可以断定,是(2,2)逻辑推理:这两个数是多少?两个人A,B。

数字为2-100之间的自然数。

现找出两个数,把其和告诉A,把其积告诉B。

然后问A知道不知道是哪两个数,A说:“虽然我不知道,但是肯定B也不知道。

”再问B,B说:“本来我不知道,但是听到A说这句话,现在我知道了。

”,A听到B说他知道了,然后就说:“现在我也知道了”。

腾讯校园招聘笔试试题大全(3)

腾讯校园招聘笔试试题大全(3)

腾讯校园招聘笔试试题大全(3)二、填空题(共4题10个空,每空2分,共20 分)1 设有字母序列{Q,D,F,X,A,P,N,B,Y,M,C,W},请写出按二路归并方法对该序列进行一趟扫描后的结果为DQFXAPBNMYCW。

2 关键码序列(Q,H,C,Y,Q,A,M,S,R,D,F,X),要按照关键码值递增的次序进行排序,若采用初始步长为4的Shell的排序法,则一趟扫描的结果是QACSQDFXRHMY;若采用以第一个元素为分界元素的快速排序法,则扫描一趟的结果是FHCDQAMQRSYX。

注意:对于Shell排序,如果当前位置为i,且初始步长为4,那么相比较的是i和i+4。

若不足的,则不进行处理。

扫描一趟的意思就是说:Partition一次,那么就可以按照代码进行划分就可以了。

3 二进制地址为011011110000,大小为(4)10和(16)10块的伙伴地址分别为:_________,_________。

4 设t是给定的一棵二叉树,下面的递归程序count(t)用于求得:二叉树t中具有非空的左、右两个儿子的结点个数N2;只有非空左儿子的个数NL;只有非空右儿子的结点个数NR和叶子结点个数N0。

N2,NL,NR、N0都是全局量,且在调用count(t)之前都置为0。

typedef struct node{int data;struct node *lchild,*rchild;}node;int N2,NL,NR,N0;void count(node *t){if (t->lchild!=NULL)if (t->rchild!=NULL) N2++;else NL++;else if (t->rchild!=NULL) NR++;else N0++;if(t->lchild!=NULL) count(t->lchild);if(t->rchild!=NULL) count(t->rchild);}/* call form :if(t!=NULL) count(t);*/三、其他方向简答题(共2题,每题20分),选作题,不计入总分)1 请设计一个排队系统,能够让每个进入队伍的用户都能看到自己在队列中所处的位置和变化,队伍可能随时有人加入和退出;当有人退出影响到用户的位置排名时需要及时反馈到用户。

最新-2019腾讯校园招聘实习技术类笔试题目 精品

最新-2019腾讯校园招聘实习技术类笔试题目 精品

学生户外活动应急预案学生户外活动应急预案范文(精选5篇)在我们平凡的日常里,难免会发生一些不在自己预期的事件,为了控制事故的发展,很有必要提前准备一份具体、详细、针对性强的应急预案。

怎样写应急预案才更能起到其作用呢?以下是小编精心整理的学生户外活动应急预案范文(精选5篇),仅供参考,欢迎大家阅读。

学生户外活动应急预案1为保护学校广大师生员工的生命和财产安全,结合我校实际,制定外出实践活动、参观等重大户外活动安全工作预案。

一、建立安全事故应急处置领导小组组长副组长成员安全事故应急处置领导小组下设办公室,在安保处;安全事故应急处置领导小组由救援行动组、疏散引导组、安全防护组、医疗救护组、事故调查组组成。

(1)办公室主任成员(2)救援行动组组长成员(3)疏散引导组组长成员:各班班主任(4)安全防护组组长成员(5)事故调查组组长成员二、各小组主要职责(一)安全事故应急处置领导小组的主要职责1、遇到安全事故,及时组织、指挥各方面力量,开展应急处置工作,控制事故的损失和扩大;2、组织召开处置安全事故工作会议,确定救援方案;3、检查督促有关部门做好抢险救灾,事故调查、后勤保障、信息上报、善后处理以及恢复生活、教学秩序的工作;4、检查督促各部门责任人做好各项安全事故的防范措施和应急准备工作。

(二)办公室的主要职责1、及时了解事故情况,向安全事故应急处置工作领导小组领导报告,并及时传达领导小组的决策;2、及时与上级主管部门取得联系,争取上级领导的指导和支援;3、协调各应急部门之间的关系;4、向上级部门报告安全事故及应急处理的信息。

(三)救援行动组的主要职责1、救援行动组接到学校安全事故报警后,应立即赶到现场开展实施救援行动;2、组织指挥有关部门开展人员救护,把损失减小到最低程度;3、指挥水电工等有关人员提供必要的供电供水,确保应急灯、消防设施等正常使用。

(四)疏散引导组的主要职责1、疏散引导组接到学校安全事故报警后,应立即赶到现场,并安排人员及时引导疏散教职工、学生前往安全地带;2、维护好救援秩序,制止无关人员进入救援现场。

腾讯校招笔试题

腾讯校招笔试题

腾讯校招笔试题是否在找腾讯校招的题目,小编为大家精心搜集了一篇“腾讯校招笔试题”,欢迎大家参考借鉴,希望可以帮助到大家!①、数据结构若一颗二叉树的前序遍历为a,e,b,d,c,后序遍历为b,c,d,e,a,则根节点的孩子节点()a:只有eb:有e,bc:有e,cd:不确定*:a解析:根据前序遍历的定义,根最先被访问,所以a是二叉树的根。

正常情况下,a应该有左右两个子树:在前序序列中a的直接后继是e,说明e位于左子树;在后序序列中a的直接前驱是e,说明e位于右子树;从而a只能有1个子树,且e就是子树的根节点。

②、数据结构现有一个包含m个节点的三叉树,即每个节点都有三个指向孩子节点的指针,请问:在这3m个指针中有()个空指针。

a:2mb:2m-1c:2m+1d:3m*:c解析:方法1:若只有1个根结点,显然该根节点有3个空指针:a(1)=3;若n-1个结点有a(n-1)个空指针,在一个原空指针的位置增加一个叶结点后,减少了1个空指针,但增加了3个空指针,从而:a(n)=a(n-1)+2;因此,a(n)是首项为3,公差为2的等差数列,通项为a(n)=2n+1.方法2:m个结点一共有3m个指针,m个结点的树一共有m-1的边,即m-1个指针是指向结点的,剩下的指针即为空指针:3m-(m-1)=2m+1。

③、数学计算储蓄盒中2分和5分的硬*的个数相等,2分和5分的钱数也相等,问:可能是多少元()a:2.1元b:2.4元c:2.8元d:3.0元*:abcd解析:假设2分和5分的硬*数目为x,则有2x=5x,解得x=0。

即:储蓄盒中没有2分和5分的硬*。

但可以有1分的,而1分的硬*理论上可以表示以0.01元为单位的所有值。

腾讯校园招聘实习技术类笔试题目.doc

腾讯校园招聘实习技术类笔试题目.doc

腾讯校园招聘实习技术类笔试题目时间:xx-4-20职位:开发、后台、客户端、前端等城市:上海、合肥、沈阳、长沙、深圳(一)不定项选择题(25*4)1. 使用深度优先算法遍历以下图,遍历的顺序为()A ABCDEFGB ABDCFEGC ABDECFGD ABCDFEG2. 输入序列ABCABC经过栈操作变成ABCCBA,下面哪些是可能的栈操作( )A. push pop push pop push pop pushpush push pop pop popB. push push push push push push poppop pop pop pop popC. push push push pop pop pop pushpush pop pop push popD. push push push push pop pushpop push pop pop pop pop3. 以下关键码序列哪些是一个堆( )A. 90 31 53 23 16 48 B 90 48 31 53 16 23C 16 53 23 90 3148 D.1631 23 90 53 484. 稀疏矩阵压缩的存储方法是:()A 三元组B 二维数组C 散列D 十字链表5. 二叉树的后序排列DBEFCA,中序排列DBAECF,那么对其做先序线索化二叉树,节点E的线索化指向节点()A BCB AC C DFD CF6. 线性结构的是()A 串B 链式存储栈 C顺序存储栈 D 顺序存储二叉树7. Linux命令是哪些()A lsB mkdir Cmagnify D man8. Unix系统中,适合任意两个进程通信的是()A FIFOB PIPEC Message QueueD sharememory9. Windows系统中,不适合进程通讯的是()A 临界区B 互斥量C 信号量D 事件10. 下面的内存管理模式中,会产生外零头的是()A 页式 B段式C 请求页式 D 请求段式11. Linux执行ls,会引起哪些系统调用()A nmapB readC execveD fork12. a 是二维数组,a[j]的指针访问方式为:()A *(a+i+j)B *(*(a+i)+j)C *(a+i)+jD *a+i+j13 输出以下结果:#define add(a,b) a+b;Intmain(){Printf(“”,3*add(4,7));}A 33B 19C 25D 4914 对于以下代码,char * p= newchar[100]A p 和 new出来的内存都在栈上B p 和 new出来的内存都在堆上C p在栈上 new出来的在堆上D p在堆上 new出来的在栈上15 进程A读取B进程中的某个变量(非共享内存),可行的方式()A 进程向消息队列写入一个包含变量内容的消息,B进程从队列中读出B 通过本地环路通信C 如果A、B 非亲属,那么A通过命名管道把这个变量的地址发给B进程D 如果 B是A 进程,那么B直接读取变量内容即可16 使用 send发送大量小的数据包,说法正确的选项是()A 带宽利用率低B 网卡吞吐很高C 网卡中断频繁D 进程上下文切换频繁17 TCP的握手与分手可能出现的情形是()A 握手需要3次通信B 分手需要进行4次通信C Fin和ACK 在同一包里D ACK 和SYN 在同一包里18. 和16题一样。

关于腾讯技术类笔试题.doc

关于腾讯技术类笔试题.doc

关于腾讯技术类笔试题一、选择题(5×12)1.哪一个声明是错误的()char*constp=0;charconst*p=0;constchar*p=0;char*pconst=0;2.下面的结构体所占内存是()#pragmapack(4)struct{unino{charch1;doublenum;}bbb;charch2;}aaa;#pragmapack()3.x=0xffffffff,那么x=(x&0xffff0000)>>16的结果是()4.#defineTEST(x)(x*2+1),那么TEST(1+1)的结果是()5.有15个结点的满二叉树,叶子数是()6.程序片段的输出结果() classA{public:A(){printf("A1");}~A(){printf("A2");}};classB:publicA{public:B(){printf("B1");}~B(){printf("B2");}};Bb=newB;b;7.intFunc(constchar*)的重载函数是()(选项略)8.按顺序A,B,C进栈,出栈的结果是()9.程序片段的输出结果() classA{public:virtualintfunc(){return1;}};classB:publicA{public:virtualintfunc(){return2;}};A*a=newB;printf("%d%d",a->func(),a->A::func());a;10.程序片段的执行描述中正确的选项是()classA{public:virtualvoidfunc(A&ra);};classB:publicA{public:virtualvoidfunc(B&rb);};Bb;A&a=b;a.func(b);(有点记不清了,反正俺错了这题,以为引用和指针是不同的...><)<p="">11.关于哈希表特点错误的选项是()(选项略)12.函数功能描述正确的选项是()intwhatido(char*str){return*str?whatido(++str)+1:0;}二、程序填空(5×8)1.二叉树的遍历2.静态单链表Appand元素三、附加题(20×3)1.写出3D的镜象转置矩阵(什么东东?看不懂题意...)2.SQL的简单东东(俺全忘了...哭)3.商场“买200送100”算折扣(还是不懂...)。

腾讯校园招聘实习笔试题目笔试题目及答案

腾讯校园招聘实习笔试题目笔试题目及答案

腾讯校园招聘实习笔试题目腾讯校园招聘实习笔试题目想加入腾讯公司这个大家庭吗?下面YJBYS小编为大家整理了腾讯校园招聘实习笔试题目,欢迎阅读参考!01关于二叉树,下面说法正确的是()A. 对于N个节点的二叉树,其高度为nlog2n;B. 一个具有1025个节点的二叉树,其高度范围在11~1025之间C. 二叉树的先序遍历是EFHIGJK,中序遍历为HFIEJKG,该二叉树的右子树的根为GD. 二叉树中至少有一个节点的度为202假设函数f1的时间复杂度O(n),那么f1*f1的时间复杂度为()A. O(n)B. O(n*n)C. O(n*log(n))D. 以上都不对03对下列四种排序方法,在排序中关键字比较次数与记录初始化顺序无关的是()A. 直接排序B. 二分法插入C. 快速排序D. 归并排序04已知一段文本有1382个字符,使用了1382个字节存储,这段文本全部是由a、b、c、d、e字符组成,a 354次,b 483次,c 227次,d 96次,e 222次,对这5个字符使用哈夫曼编码。

则以下说法正确的是?()A. 使用哈夫曼编码后,使用编码值来存储这段文本将花费最少的存储空间B. 使用哈夫曼编码后,a b c d e 这5个字符对应的编码值是唯一确定的C. 使用哈夫曼编码后,a b c d e 这5个字符对应的编码值可以有多套,但每个字符的编码位数是确定的D. b这个字符的编码位数最短,d这个字符的哈夫曼编码位数应该最长05判断单链表有没有环的算法中,至少需要几个指针()A. 1B. 2C. 3D. 406在编译过程中,产生Parse tree的过程是()A. 语法分析B. 语义分析阶段D. 目标代码生成阶段07阅读下面代码,程序会打印出来的值是()#includeVoid f(char **p){*p += 2;}Void main() {Char *a[] = { “123”,”abc”,”456”},**p;p = a;f(p);printf(“%s”,**p);}A. 123B. abcC. 456D. 308Char p1[] = “Tencent”, void p2 = malloc((10)在32位机器上sizeof(p1)和sizeof(p2)对应的值是()A. 8:0B. 4:10C. 8:4D. 4:49现在有以下两个函数,调用test的结果是()Char* getMem(void) { Char * p = “hello world ”;P[5] = 0x0;Return p;}Voidtest(void) { Char *s = 0x0;s = getMem();Printf(s);}A. helloB. 无输出C. Hello0worldD. 不确定10冯诺依曼体系结构计算机的基本原理是()A 信息存储B 存储智能D 存储程序和程序控制11下面哪种设计模式的定义为:定义对象间的一种一对多的关系,当一个对象改变时,其他依赖于他的对象都能够得到通知并自动更新。

腾讯笔试题及其答案

腾讯笔试题及其答案

一些腾讯笔试题及其答案声明:题目来自网络,答案大部分来自网络并经过整理;有些是自己查资料和请教他人得来的。

题外话:曾经有一个很好的进入腾讯工作的机会摆在我面前,但是我没有珍惜,虽然谈不上“后悔莫及”,但是...1.1有A、B、C、D四个人,要在夜里过一座桥。

他们通过这座桥分别需要耗时1、2、5、10分钟,只有一支手电,并且同时最多只能两个人一起过桥。

请问,如何安排,能够在17分钟内这四个人都过桥?答案:A & B -->2 mins1 mins <-- AC &D -->10 mins2 mins <-- BA &B --> 2 mins一共 2 + 1 +10 + 2 + 2 =17 mins1.2 1-20的两个数把和告诉A,积告诉B,A说不知道是多少,B也说不知道,这时A说我知道了,B接着说我也知道了,问这两个数是多少?答案:2和3答案有3个:1 2和22 2和33 2和4第一个大概是(2,2)吧A得到的是2+2=4,B得到的是2*2=4开始A当然不知道,因为有可能是(2,2)或(1,3)这时B也不知道,因为有可能是(2,2)或(1,4),而且这两种情况A无均会答"不知道"这时,我就已经知道了,因为如果是(1,3),B得到的是3,只有(1,3)这种情况,就不会回答"不知道" 由B的答案,A可以肯定是(2,2)同样,A说"知道"了以后,B也就知道了因为如果是(1,4),A得到的是5,只凭第二步B说"不知道",A不可能在第三步便"知道"所以B可以断定,是(2,2)逻辑推理:这两个数是多少? 两个人A,B。

数字为2-100之间的自然数。

现找出两个数,把其和告诉A,把其积告诉B。

然后问A知道不知道是哪两个数,A 说:“虽然我不知道,但是肯定B也不知道。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

腾讯技术类校园招聘笔试试题(A8卷)姓名:______________ 联系电话:_______________ 简历编号:____________学校:______________ 专业:___________________ 学历:________________一.单选题(每题4分,15题,共60分)1.考虑函数原型void hello(int a,int b=7,char* pszC="*"),下面的函数调用钟,属于不合法调用的是:CA hello(5) B.hello(5,8) C.hello(6,"#") D.hello(0,0,"#")2.下面有关重载函数的说法中正确的是:CA.重载函数必须具有不同的返回值类型B.重载函数形参个数必须不同C.重载函数必须有不同的形参列表D.重载函数名可以不同重载:必须同名函数;必须参数表不同(包含参数个数不同;参数类型不同;或参数个数与类型都不同)3.分析一下程序的运行结果:C#include<iostream.h>class CBase{public:CBase(){cout<<”constructing CBase class”<<endl;}~CBase(){cout<<”destructing CBase class”<<endl;}};class CSub : public CBase{public:CSub(){cout<<”constructing CSub class”<<endl;}~CSub(){cout<<”destructing CSub class”<<endl;}};void main(){CSub obj;}A. constructing CSub classB. constructing CBase classconstructing CBase class constructing CSub classdestructing CSub class destructing CBase classdestructing CBase class destructing CSub classC. constructing CBase classconstructing CSub classdestructing CSub classdestructing CBase classD. constructing CSub classconstructing CBase classdestructing CBase classdestructing CSub class子类对象生成时:先调用父类的构造函数,然后在调用子类的构造函数;析构时相反4.在一个cpp文件里面,定义了一个static类型的全局变量,下面一个正确的描述是:A.只能在该cpp所在的编译模块中使用该变量B.该变量的值是不可改变的C.该变量不能在类的成员函数中引用D.这种变量只能是基本类型(如int,char)不能是C++类型Static全局变量和普通全局变量:针对:一个工程里有多个cpp文件时相同点:存储方式相同,都是静态存储;不同点:作用域不同。

普通全局变量---作用域是整个源程序(含有多个源文件),在各个源文件中都有效Static全局变量----作用域是当前源文件5.观察下面一段代码:class ClassA{public:virtual~ ClassA(){};virtual void FunctionA(){};};class ClassB{public:virtual void FunctionB(){};};class ClassC : public ClassA,public ClassB{public:};ClassC aObject;ClassA* pA=&aObject;ClassB* pB=&aObject;ClassC* pC=&aObject;关于pA,pB,pC的取值,下面的描述中正确的是:A.pA,pB,pC的取值相同.B.pC=pA+pBC.pA和pB不相同D.pC不等于pA也不等于pB6.参照1.5的代码,假设定义了ClassA* pA2,下面正确的代码是:A.pA2=static_cast<ClassA*>(pB);B.void* pVoid=static_cast<void*>(pB);pA2=static_cast<ClassA*>(pVoid);C.pA2=pB;D.pA2=static_cast<ClassA*>(static_cast<ClassC*>(pB));7.参照1.5的代码,下面那一个语句是不安全的:A.delete pAB.delete pBC.delete pC删除那个都有错误,编译是无错误,运行是有错误8.下列程序的运行结果为:#include<iostream.h>void main(){int a=2;int b=++a;cout<<a/6<<endl;}A.0.5B.0 C0.7 D.0.6666666-9.有如下一段代码:#define ADD(x,y) x+yint m=3;m+=m*ADD(m,m); //展开后为m=m+m*m+m=3+3*3+3则m的值为:A.15B.12C.18D.5810.如下是一个带权的图,图中结点A到结点D的关键路径的长度是:A.13B.15C.28D.5811.下面的模板声明中,正确的是:A.template<typename T1,T2> //改为template<typename T1, typename T2>B.template<class T1,T2>C.template<class T1,class T2>D.template<typename T1;typename T2>//分号改为逗号12.在Windows编程中下面的说法正确的是:A.两个窗口,他们的窗口句柄可以是相同的B.两个窗口,他们的处理函数可以是相同的C.两个窗口,他们的窗口句柄和窗口处理函数都不可以相同.13.下面哪种情况下,B不能隐式转换为A?A.class B:public A{}B.class A:public B{}C.class B{operator A();}D.class A{A(const B&);}14.某公司使用包过滤防火墙控制进出公司局域网的数据,在不考虑使用代理服务器的情况下,下面描述错误的是”该防火墙能够( )”.A.使公司员工只能访问Internet上与其业务联系的公司的IP地址.B.仅允许HTTP协议通过,不允许其他协议通过,例如TCP/UDP.C.使员工不能直接访问FTP服务器端口号为21的FTP地址.D.仅允许公司中具有某些特定IP地址的计算机可以访问外部网络15.数字字符0的ASCII值为48,若有以下程序:main(){char a=’1’,b=’2’;printf(“%c,”,b++);printf(“%d\n”,b-a);}程序运行之后的输出结果是:A.3,2B.50,2C.2,2D.2,50二.填空题(共40分)本程序从正文文件text.in读入一篇英文短文,统计该短文中不同单词和它的出现次数,并按词典编辑顺序将单词及它的出现次数输出到正文文件word.out中.程序用一棵有序二叉树存储这些单词及其出现的次数,一边读入一边建立.然后中序遍历该二叉树,将遍历经过的二叉树上的节点的内容输出.程序中的外部函数int getword(FILE* pFile,char* pszWordBuffer,int nBufferLen);从与pFile所对应的文件中读取单词置入pszWordBuffer,并返回1;若单词遇文件尾,已无单词可读时,则返回0.#include <stdio.h>#include <malloc.h>#include <ctype.h>#include <string.h>#define SOURCE_FILE "text.in"#define OUTPUT_FILE "word.out"#define MAX_WORD_LEN 128typedef struct treenode{char szWord[MAX_WORD_LEN];int nCount;struct treenode* pLeft;struct treenode* pRight;}BNODE;int getword(FILE* pFile,char* pasWordBuffer,int nBufferLen);void binary_tree(BNODE** ppNode,char* pszWord){if(ppNode != NULL && pszWord != NULL){BNODE* pCurrentNode = NULL;BNODE* pMemoNode = NULL;int nStrCmpRes=0;____(1)_____;pCurrentNode=*ppNodewhile(pCurrentNode){/*寻找插入位置*/nStrCmpRes = strcmp(pszWord, ___(2)___ );pCurrentNode->nCountif(!nStrCmpRes){___(3)___; pCurrentNode->nCount++return;}else{___(4)___; pMemoNode=pCurrentNodepCurrentNode = nStrCmpRes>0? pCurrentNode->pRight : pCurrentNode->pLeft;}}}pCurrent=new BNODE;if(pCurrentNode != NULL){memset(pCurrentNode,0,sizeof(BNODE));strncpy(pCurrentNode->szWord,pszWord,MAX_WORD_LEN-1);pCurrentNode->nCount=1;}if(pMemoNode==NULL){___(5)___; *ppNode= pCurrentNode}else if(nStrCmpRes>0){pMemoNode->pRight=pCurrentNode;}else{pMemoNode->pLeft=pCurrentNode;}}void midorder(FILE* pFile,BNODE* pNode){if(___(6)___) return;!pNode||!pFilemidorder(pFile,pNode->pLeft);fprintf(pFile,"%s %d\n",pNode->szWord,pNode->nCount);midorder(pFile,pNode->pRight);}void main(){FILE* pFile=NULL;BNODE* pRootNode=NULL;char szWord[MAX_WORD_LEN]={0};pFile=fopen(SOURCE_FILE,"r");if(pFile==NULL){printf("Can't open file %s\n",SOURCE_FILE);return;}while(getword(pFile,szWord,MAX_WORD_LEN)==1){binary_tree(___(7)___);// pRootNode,szWord}fclose(pFile);pFile=fopen(OUTPUT_FILE,"w");midorder(pFile,pRootNode);fclose(pFile);}三.附加题(每题30分,2题,共60分)1.从程序健壮性进行分析,下面的FillUserInfo函数和Main函数分别存在什么问题? #include <iostream>#include <string>#define MAX_NAME_LEN 20struct USERINFO{int nAge;char szName[MAX_NAME_LEN];};void FillUserInfo(USERINFO* parUserInfo){stu::cout<<"请输入用户的个数:";int nCount=0;std::cin>>nCount;for(int i=0;i<nCount;i++){std::cout<<"请输入年龄:";std::cin>>parUserInfo[i]->nAge;std::string strName;std::cout<<"请输入姓名:";std::cin>>strName;strcpy(parUserInfo[i].szName,strName.c_str());}}int main(int argc,char* argv[]){USERINFO arUserInfos[100]={0};FillUserInfo(arUserInfos);printf("The first name is:");printf(arUserInfos[0].szName);printf("\n");return 0;}2.假设你在编写一个使用多线程技术的程序,当程序中止运行时,需要怎样一个机制来安全有效的中止所有的线程?请描述其具体流程.。

相关文档
最新文档