首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
按照二叉树的定义,具有3个结点的树有()种形态(不考虑数据信息的组合情况)。
查看本题答案
包含此试题的试卷
初级程序员《单项选择》真题及答案
点击查看
你可能感兴趣的试题
按照二叉树的定义具有3个结点的二叉树有______种
3
4
5
6
下列关于二叉树的叙述中正确的是
度为2的树称为二叉树
二叉树的度肯定是2
二又树中所有结点的度都是2
具有3个结点的二叉树有5种形态
具有3个结点的二叉树有
2种形态
4种形态
7种形态
5种形态
由3个结点所构成的二叉树有种形态
关于满二叉树完全二叉树有以下说法 ①满二叉树不仅是一种特殊形态的二叉树而且是一种特殊的完全二叉树
①②④
③④⑤
①③④⑤
全对
要求二叉树按二叉链表形式存储并且1写一个建立二叉树的算法2写一个判别给定的二叉树是否是完全二叉树的算
按照二叉树的定义具有3个结点的树有58种形态不考虑数据信息的组合情况
2
3
4
5
下列关于二叉树的叙述中正确的是
度为2的树称为二叉树
二叉树的度肯定是2
二叉树中所有结点的度都是2
具有3个结点的二叉树有5种形态
在下列关于二叉树的叙述中正确的一条是______
度为2的树称为二叉树
二叉树的度肯定是2
二叉树中所有结点的度都是2
具有3个结点的二叉树有5种形态
热门试题
更多
阅读以下说明和C程序填充程序中的空缺[说明]埃拉托斯特尼筛法求不超过自然数N的所有素数的做法是先把N个自然数按次序排列起来1不是素数也不是合数要划去2是素数取出2输出然后将2的倍数都划去剩下的数中最小者为33是素数取出3输出再把3的倍数都划去剩下的数中最小者为55是素数输出再把5的倍数都划去这样一直做下去就会把不超过N的全部合数都筛掉每次从序列中取出的最小数构成的序列就是不超过N的全部质数下面的程序实现埃拉托斯特尼筛法求素数其中数组元素sieve[i]i>0的下标i对应自然数isieve[i]的值为1/0分别表示i在/不在序列中也就是将i划去去掉时就将sieve[i]设置为0[C程序]#include<stdio.h>#defineN10000intmaincharsieve[N+1]=0;inti=0k;/*初始时2~N都放入sieve数组*/fori=2;______;i++sieve[i]=1;fork=2;;/*找出剩下的数中最小者并用K表示*/for;k<N+1&&sieve[k]==0;______;if______break;print%d/tk;/*输出素数*//*从sieve中去掉k及其倍数*/fori=k;i<N+1;i=____________;return0;/*endofmain*/
阅读以下说明和C函数将应填入______处的语句或语句成分写在对应栏内[说明1]函数deldigitchar*s的功能是将字符串s中的数字字符去掉使剩余字符按原次序构成~个新串并保存在原串空间中其思路是先申请一个与s等长的临时字符串空间并令t指向它将非数字字符按次序暂存入该空间最后再复制给s[C函数]voiddeldigitchar*schar*t=char*malloc______;/*申请串空间*/intik=0;if!treturn;fori=0;i<strlens;i++=if!*s+i>=’0’&&*s+i<=’9’t[k++]=______;______=’/0’/*设置串结束标志*/strcpyst;freet;[说明2]函数reversechar*sintlen的功能是用递归方式逆置长度为len的字符串s例如若串s的内容为abcd则逆置后其内容变为dcba[C函数]voidreversechar*sintlencharch;if______ch=*s;*s=*s+len-1;*s+len-1=ch;reverse______;
阅读以下说明和C函数填充函数中的空缺[说明]已知两个整数数组A和B中分别存放了长度为m和n的两个非递减有序序列函数AdjustmentABmn的功能是合并两个非递减序列并将序列的前m个整数存入A中其余元素依序存入B中例如合并前合并后数组A的内容1928147数组B的内容47122937912282937合并过程如下从数组A的第一个元素开始处理用数组B的最小元素B[0]与数组A的当前元素比较若A的元素较小则继续考查A的下一个元素否则先将A的最大元素暂存入temp然后移动A中的元素挪出空闲单元并将B[0]插入数组A最后将暂存在temp中的数据插入数组B的适当位置保持B的有序性如此重复直到A中所有元素都不大于B中所有元素为止[C函数]voidAdjustmentintA[]intB[]intmintn/*数组A有m个元素数组B有n个元素*/intktemp;fori=0;i<m;i++ifA[i]<=B[0]continuetemp=______;/*将A中的最大元素备份至temp*//*从后往前依次考查A的元素移动A的元素并将来自B的最小元素插入A中*/fork=m-1;______;k--A[k]=A[k-1];A[i]=______;/*将备份在七emp的数据插入数组B的适当位置*/fork=1;______&&k
阅读以下说明和C函数填补C函数中的空缺[说明]函数numberOfwordscharmessage[]的功能是计算存储在message字符数组中的一段英文语句中的单词数目输出每个单词单词长度超过20时仅输出其前20个字母并计算每个英文字母出现的次数即频数字母计数时不区分大小写假设英文语句中的单词合乎规范此处不考虑单词的正确性单词不缩写或省略即不会出现类似don’t形式的词单词之后都为空格或标点符号函数中判定单词的规则是1一个英文字母串是单词2一个数字串是单词3表示名词所有格的撇号’与对应的单词看作是一个单词除上述规则外其他情况概不考虑例如句子The1990’switnessedmanychangesinpeople’sconceptsofconservation中有10个单词输出如下The1990’switnessedmanychangesinpeople’sconceptsofconservation函数numberOfwords中用到的部分标淮库函数如下所述函数原型说明intislowerintch;若ch表示一个小写英文字母则返回一个非0整数否则返回0intisupperintch若ch表示一个大写英文字母则返回一个非0整数否则返回0intisalnumintch;若ch表示一个英文字母或数字字符则返回一个非0整数否则返回0intisabhaintch;若ch表示一个英文字母则返回一个非0整数否则返回0intisdigitintch;若ch表示一个数字字符则返回一个非0整数否则返回0[C函数]intnumberOfwordscharmessage[]charwordbuffer[21]i=0;/*i用作wordbuffer的下标*/______pstr;intps[26]=0;/*ps[0]用于表示字母’A’或’a’的频数*//*ps[1]用于表示字母’B’或’b’的频数依此类推*/intwordcounter=0;Pstr=message;while*pstrif______*pstr/*调用函数判断是否为一个单词的开头字符*/i=0;do/*将一个单词的字符逐个存入wordbuffer[]并对字母计数*/wordbuffer[i++]=*pstr;ifisalpha*pstrif______*pstrps[*pstr-’a’]++;elseps[*pstr-’A’]++;______;/*pstr指向下一字符*/whilei<20&&isalnum*pstr||*pstr==’/;ifi>=20/*处理超长单词含名词所有格形式*/whileisalnum*pstr||*pstr==’\pstr++;______=’/0’;/*设置暂存在wordbuffer中的单词结尾*/wordcounter++;/*单词计数*/putswordbuffer;/*输出单词*/______;/*pstr指向下一字符*/returnwordcounter;
阅读以下说明C程序代码和问题1至问题3将解答写在对应栏内[说明1]设在某C系统中为每个字符型数据分配1个字节为每个整型int数据分配4个字节为每个指针分配4个字节sizeofx用于计算为X分配的字节数[C代码]#include<stdio.h>#include<string.h>intmainintarr[5]=102030;charraystr[]=JustAtest/n;char*ptr=mystr;printf%d%d%d/nsizeofintsizeofunsignedintsizeofart;printf%d%d/nsizeofcharSizeofmystr;printf%d%d%d/nsizeofptrsiZeof*ptrstrlenptr;return0;1请定义一个只读型的整型常量size并将其值初始化为102请定义一个指向整型变量a的指针ptr使得ptr的值不能修改而ptr所指向的目标变量的值可以修改即可以通过ptr间接修改整型变量a的值注无需给出整型变量a的定义
阅读以下说明和流程图将应填入______处的字句写在对应栏内[说明]下面的流程图旨在统计指定关键词在某一篇文章中出现的次数设这篇文章由字符A0An-1依次组成指定关键词由字符B0Bm-1依次组成其中n>m≥1注意关键词的各次出现不允许有交叉重叠例如在aaaa中只出现两次aa该流程图采用的算法是在字符串A中从左到右寻找与字符串B相匹配的并且没有交叉重叠的所有子串流程图中i为字符串A中当前正在进行比较的动态子串首字符的下标j为字符串B的下标k为指定关键词出现的次数[流程图]
阅读以下说明和C程序填充函数中的空缺[说明]N个游戏者围成一圈从1~N顺序编号游戏方式如下从第一个人开始报数从1到3报数凡报到3的人退出圈子直到剩余一个游戏者为止该游戏者即为获胜者下面的函数playingLinklisthead模拟上述游戏过程并返回获胜者的编号其中N个人围成的圈用一个包含N个结点的单循环链表来表示如图1所示游戏者的编号放在结点的数据域中在函数中以删除结点来模拟游戏者退出圈子的处理整型变量c初值为1用于计数指针变量p的初始值为head如图1所示游戏时从p所指向的结点开始计数p沿链表中的指针方向遍历结点c的值随p的移动相应地递增当c计数到2时就删除p所指结点的下一个结点因下一个结点就表示报数到3的游戏者如图2所示然后将c设置为0后继续游戏过程结点类型定义如下typedefstructnodeintcode;/*游戏者的编号*/struetnode*next;NODE*LinkList;[C函数]intplayingLinkListheadintn/*head指向含有n个结点的循环单链表的第一个结点即编号为1的游戏者*/LinkListp=headq;intthewinnerc=1;whilen>______ifc==2/*当c等于2时P所指向结点的后继即为将被删除的结点*/q=p->next;p->next=______;printf%d/tq->code;/*输出退出圈子的游戏者编号*/freeq;c=______;n--;/*if*/p=______;c++;/*while*/theWinner=______;freep;returntheWinner;/*返回最后一个游戏者即获胜者的编号*/
阅读以下说明和C程序填充程序中的空缺[说明]埃拉托斯特尼筛法求不超过自然数N的所有素数的做法是先把N个自然数按次序排列起来1不是素数也不是合数要划去2是素数取出2输出然后将2的倍数都划去剩下的数中最小者为33是素数取出3输出再把3的倍数都划去剩下的数中最小者为55是素数输出再把5的倍数都划去这样一直做下去就会把不超过N的全部合数都筛掉每次从序列中取出的最小数构成的序列就是不超过N的全部质数下面的程序实现埃拉托斯特尼筛法求素数其中数组元素sieve[i]i>0的下标i对应自然数isieve[i]的值为1/0分别表示i在/不在序列中也就是将i划去去掉时就将sieve[i]设置为0[C程序]#include<stdio.h>#defineN10000intmaincharsieve[N+1]=0;inti=0k;/*初始时2~N都放入sieve数组*/fori=2;______;i++sieve[i]=1;fork=2;;/*找出剩下的数中最小者并用K表示*/for;k<N+1&&sieve[k]==0;______;if______break;print%d/tk;/*输出素数*//*从sieve中去掉k及其倍数*/fori=k;i<N+1;i=____________;return0;/*endofmain*/
阅读以下说明和C代码回答下面问题将解答写在对应栏内[说明1]下面代码的设计意图是将保存在文本文件data.txt中的一系列整数不超过100个读取出来存入数组arr[]然后调用函数sort对数组arr的元素进行排序最后在显示屏输出数组arr的内容[C代码]若分别采用函数定义方式12和调用方式12请分析程序的运行情况填充下面的空若采用定义方式1和调用方式1则输出为00000000若采用定义方式1和调用方式2则______若采用定义方式2和调用方式1则______若采用定义方式2和调用方式2则______
阅读以下说明和C函数填充函数中的空缺[说明]函数Insert_key*rootkey的功能是将键值key插入到*root指向根结点的二叉查找树中二叉查找树为空时*root为空指针若给定的二叉查找树中已经包含键值为key的结点则不进行插入操作并返回0否则申请新结点存入key的值并将新结点DHA树中返回1提示二叉查找树又称为二叉排序树它或者是一棵空树或者是具有如下性质的二叉树若它的左子树非空则其左子树上所有结点的键值均小于根结点的键值若它的右子树非空则其右子树上所有结点的键值均大于根结点的键值左右子树本身就是二叉查找树设二叉查找树采用二叉链表存储结构链表结点类型定义如下typedefstructBiTnodeintkey_value;/*结点的键值为非负整数*/structBiTnode*left*right;/*结点的左右子树指针*/BiTnode*BSTree;[C函数]intInsert_keyBSTree*rootintkeyBiTnode*father=NULL*p=*root*s;while______&&key!=p->key_value/*查找键值为key的结点*/father=p;ifkey<p->key_valuep=______;/*进入左子树*/elsep=______;/进入右子树*/ifpreturn0;/*二叉查找树中已存在键值为key的结点无需再插入*/s=BiTnode*malloc______;/*根据结点类型生成新结点*/if!srettlrn-1;s->key_value=key;s->left=NULL;s->right=NULL;if!father______;/*新结点作为二叉查找树的根结点*/else/*新结点插入二叉查找树的适当位置*/ifkey<father->key_valuefather->left=s;elsefather->right=s;return1;
阅读以下说明和流程图回答下面问题[说明]图1所示的流程图中有两个判断条件A>0和B>0这些判断条件的各种组合情况如图2所示表中Y表示相应的条件成立N表示相应的条件不成立每一列表示一种条件组合并在列首用相应的序号来表示当遇到哪几种条件组合时流程图能执行3→k写出相应的序号即可
阅读以下说明和C函数填充函数中的空缺[说明]如果矩阵A中的元素A[ij]满足条件A[ij]是第i行中值最小的元素且又是第j列中值最大的元素则称之为该矩阵的一个马鞍点一个矩阵可能存在多个马鞍点也可能不存在马鞍点下面的函数求解并输出一个矩阵中的所有马鞍点最后返回该矩阵中马鞍点的个数[C函数]IntfindSaddleinta[][N]intM/*a表示M行N列矩阵N是宏定义符号常量*/introwcoiumnik;intminElem;intcount=0;/*count用于记录矩阵中马鞍点的个数*/forrow=0;row<______;row++/*minElem用于表示第row行的最小元素值其初值设为该行第0列的元素值*/______;forculumn=1;column<______;column++ifminElem>a[row][column]minElem=a[row][coiumn];fork=0;k<N;k++ifa[row][k]==minelem/对第row行的每个最小元素判断其是否为所在列的最大元素*/fori=0;i<M;i++if______>minElembreak;ifi>=______printf%d%d:%d/nrowkminElem;/*输出马鞍点*/count++;/*if*//*if*//*for*/returncount/*findSaddle*/
阅读以下说明和C程序填充函数中的空缺[说明]N个游戏者围成一圈从1~N顺序编号游戏方式如下从第一个人开始报数从1到3报数凡报到3的人退出圈子直到剩余一个游戏者为止该游戏者即为获胜者下面的函数playingLinklisthead模拟上述游戏过程并返回获胜者的编号其中N个人围成的圈用一个包含N个结点的单循环链表来表示如图1所示游戏者的编号放在结点的数据域中在函数中以删除结点来模拟游戏者退出圈子的处理整型变量c初值为1用于计数指针变量p的初始值为head如图1所示游戏时从p所指向的结点开始计数p沿链表中的指针方向遍历结点c的值随p的移动相应地递增当c计数到2时就删除p所指结点的下一个结点因下一个结点就表示报数到3的游戏者如图2所示然后将c设置为0后继续游戏过程结点类型定义如下typedefstructnodeintcode;/*游戏者的编号*/structnode*next;NODE*LinkList;[C函数]intP1ayingLinkListheadintn/*head指向含有n个结点的循环单链表的第一个结点即编号为1的游戏者*/LinkListp=headq;intthewinnerc=1;whilen>______ifc==2/*当c等于2时p所指向结点的后继即为将被删除的结点*/q=p->next;p->next=______;printf%d/tq->code;/*输出退出圈子的游戏者编号*/freeq;/*if*/p=______;/*while*/theWinner=______;freep;returntheWinner;/*返回最后一个游戏者即获胜者的编号*/
阅读以下说明和C程序填充函数中的空缺[说明]N个游戏者围成一圈从1~N顺序编号游戏方式如下从第一个人开始报数从1到3报数凡报到3的人退出圈子直到剩余一个游戏者为止该游戏者即为获胜者下面的函数playingLinklisthead模拟上述游戏过程并返回获胜者的编号其中N个人围成的圈用一个包含N个结点的单循环链表来表示如图1所示游戏者的编号放在结点的数据域中在函数中以删除结点来模拟游戏者退出圈子的处理整型变量c初值为1用于计数指针变量p的初始值为head如图1所示游戏时从p所指向的结点开始计数p沿链表中的指针方向遍历结点c的值随p的移动相应地递增当c计数到2时就删除p所指结点的下一个结点因下一个结点就表示报数到3的游戏者如图2所示然后将c设置为0后继续游戏过程结点类型定义如下typedefstructnodeintcode;/*游戏者的编号*/structnode*next;NODE*LinkList;[C函数]intP1ayingLinkListheadintn/*head指向含有n个结点的循环单链表的第一个结点即编号为1的游戏者*/LinkListp=headq;intthewinnerc=1;whilen>______ifc==2/*当c等于2时p所指向结点的后继即为将被删除的结点*/q=p->next;p->next=______;printf%d/tq->code;/*输出退出圈子的游戏者编号*/freeq;/*if*/p=______;/*while*/theWinner=______;freep;returntheWinner;/*返回最后一个游戏者即获胜者的编号*/
阅读以下说明和C函数填充函数中的空缺[说明]函数GetDateIdDATEdate的功能是计算并返回指定合法日期date是其所在年份的第几天例如date表示2008年1月25曰时函数的返回值为25date表示2008年3月3日时函数返回值为63函数Kday_Dateinttheyearintk的功能是计算并返回指定合法年份theyeartheyear≥1900的第天1≤k≤365所对应的日期例如2008年的第60天是2008年2月29日2009年的第60天是2009年3月1日函数isLeapYearinty的功能是判断y代表的年份是否为闰年是则返回1否则返回0DATE类型定义如下typedefstructintyearmonthday;DATE;[C函数1]intGetDateIdDATEdateConstintdays_month[13]=0312831303130313130313031;intidate_id=date.day;fori=0;i<______;i++date_id+=days_month[i];if______&&isLeapYeardate.yeardate_id++;returndate_id;[C函数2]______Kday_Dateinttheyearintkinti;DATEdate;intdays_month[13]=0312831303130313130313031;assertk>=1&&k<=365&&theyear>=1900;/*不满足断言时程序终止*/date.year=______;ifisLeapYeardate.yeardays_month[2]++;fori=1;;k=k-davs_month[i++];ifk<=0date.day=k+______;date.month=i-1;break;returndate;
阅读以下说明和C函数将应填入______处的语句或语句成分写在对应栏内[说明]已知单链表L含有头节点且节点中的元素值以递增的方式排列下面的函数DeleteList在L中查找所有值大于minK且小于maxK的元素若找到则逐个删除同时释放被删节点的空间若链表中不存在满足条件的元素则返回-1否则返回0例如某单链表如图1所示若令minK为20maxK为50则删除后的链表如图2所示链表节点类型定义如下typedefStructNodeintdata;structNode*next;Node*LinkList;[C函数]intDeleteListLinkListLintminxintmaxK/*在含头节点的单链表L中删除大于minx且小于maxK的元素*/______*q=L*p=L->next;/*p指向第一个元素节点*/intdeiTag=0;whilepifp->data<=minKiq=p;p=______;elseifp->data<maxK=/*找到删除满足条件的节点*/q->next=______freep;p=______;delTag=1;elsebreak;if______return-1;return0;
阅读以下说明和C函数填充函数中的空缺[说明]已知两个整数数组A和B中分别存放了长度为m和n的两个非递减有序序列函数AdjustmentABmn的功能是合并两个非递减序列并将序列的前m个整数存入A中其余元素依序存入B中例如合并前合并后数组A的内容1928147数组B的内容47122937912282937合并过程如下从数组A的第一个元素开始处理用数组B的最小元素B[0]与数组A的当前元素比较若A的元素较小则继续考查A的下一个元素否则先将A的最大元素暂存入temp然后移动A中的元素挪出空闲单元并将B[0]插入数组A最后将暂存在temp中的数据插入数组B的适当位置保持B的有序性如此重复直到A中所有元素都不大于B中所有元素为止[C函数]voidAdjustmentintA[]intB[]intmintn/*数组A有m个元素数组B有n个元素*/intktemp;fori=0;i<m;i++ifA[i]<=B[0]continuetemp=______;/*将A中的最大元素备份至temp*//*从后往前依次考查A的元素移动A的元素并将来自B的最小元素插入A中*/fork=m-1;______;k--A[k]=A[k-1];A[i]=______;/*将备份在七emp的数据插入数组B的适当位置*/fork=1;______&&k
阅读以下说明和C程序填充程序中的空缺[说明]埃拉托斯特尼筛法求不超过自然数N的所有素数的做法是先把N个自然数按次序排列起来1不是素数也不是合数要划去2是素数取出2输出然后将2的倍数都划去剩下的数中最小者为33是素数取出3输出再把3的倍数都划去剩下的数中最小者为55是素数输出再把5的倍数都划去这样一直做下去就会把不超过N的全部合数都筛掉每次从序列中取出的最小数构成的序列就是不超过N的全部质数下面的程序实现埃拉托斯特尼筛法求素数其中数组元素sieve[i]i>0的下标i对应自然数isieve[i]的值为1/0分别表示i在/不在序列中也就是将i划去去掉时就将sieve[i]设置为0[C程序]#include<stdio.h>#defineN10000intmaincharsieve[N+1]=0;inti=0k;/*初始时2~N都放入sieve数组*/fori=2;______;i++sieve[i]=1;fork=2;;/*找出剩下的数中最小者并用K表示*/for;k<N+1&&sieve[k]==0;______;if______break;print%d/tk;/*输出素数*//*从sieve中去掉k及其倍数*/fori=k;i<N+1;i=____________;return0;/*endofmain*/
阅读以下说明和C函数填补C函数中的空缺[说明]函数numberOfwordscharmessage[]的功能是计算存储在message字符数组中的一段英文语句中的单词数目输出每个单词单词长度超过20时仅输出其前20个字母并计算每个英文字母出现的次数即频数字母计数时不区分大小写假设英文语句中的单词合乎规范此处不考虑单词的正确性单词不缩写或省略即不会出现类似don’t形式的词单词之后都为空格或标点符号函数中判定单词的规则是1一个英文字母串是单词2一个数字串是单词3表示名词所有格的撇号’与对应的单词看作是一个单词除上述规则外其他情况概不考虑例如句子The1990’switnessedmanychangesinpeople’sconceptsofconservation中有10个单词输出如下The1990’switnessedmanychangesinpeople’sconceptsofconservation函数numberOfwords中用到的部分标淮库函数如下所述函数原型说明intislowerintch;若ch表示一个小写英文字母则返回一个非0整数否则返回0intisupperintch若ch表示一个大写英文字母则返回一个非0整数否则返回0intisalnumintch;若ch表示一个英文字母或数字字符则返回一个非0整数否则返回0intisabhaintch;若ch表示一个英文字母则返回一个非0整数否则返回0intisdigitintch;若ch表示一个数字字符则返回一个非0整数否则返回0[C函数]intnumberOfwordscharmessage[]charwordbuffer[21]i=0;/*i用作wordbuffer的下标*/______pstr;intps[26]=0;/*ps[0]用于表示字母’A’或’a’的频数*//*ps[1]用于表示字母’B’或’b’的频数依此类推*/intwordcounter=0;Pstr=message;while*pstrif______*pstr/*调用函数判断是否为一个单词的开头字符*/i=0;do/*将一个单词的字符逐个存入wordbuffer[]并对字母计数*/wordbuffer[i++]=*pstr;ifisalpha*pstrif______*pstrps[*pstr-’a’]++;elseps[*pstr-’A’]++;______;/*pstr指向下一字符*/whilei<20&&isalnum*pstr||*pstr==’/;ifi>=20/*处理超长单词含名词所有格形式*/whileisalnum*pstr||*pstr==’\pstr++;______=’/0’;/*设置暂存在wordbuffer中的单词结尾*/wordcounter++;/*单词计数*/putswordbuffer;/*输出单词*/______;/*pstr指向下一字符*/returnwordcounter;
阅读以下说明和C函数填充函数中的空缺[说明]函数GetDateIdDATEdate的功能是计算并返回指定合法日期date是其所在年份的第几天例如date表示2008年1月25曰时函数的返回值为25date表示2008年3月3日时函数返回值为63函数Kday_Dateinttheyearintk的功能是计算并返回指定合法年份theyeartheyear≥1900的第天1≤k≤365所对应的日期例如2008年的第60天是2008年2月29日2009年的第60天是2009年3月1日函数isLeapYearinty的功能是判断y代表的年份是否为闰年是则返回1否则返回0DATE类型定义如下typedefstructintyearmonthday;DATE;[C函数1]intGetDateIdDATEdateConstintdays_month[13]=0312831303130313130313031;intidate_id=date.day;fori=0;i<______;i++date_id+=days_month[i];if______&&isLeapYeardate.yeardate_id++;returndate_id;[C函数2]______Kday_Dateinttheyearintkinti;DATEdate;intdays_month[13]=0312831303130313130313031;assertk>=1&&k<=365&&theyear>=1900;/*不满足断言时程序终止*/date.year=______;ifisLeapYeardate.yeardays_month[2]++;fori=1;;k=k-davs_month[i++];ifk<=0date.day=k+______;date.month=i-1;break;returndate;
阅读以下说明和流程图将应填入______处的字句写在对应栏内[说明]下面的流程图旨在统计指定关键词在某一篇文章中出现的次数设这篇文章由字符A0An-1依次组成指定关键词由字符B0Bm-1依次组成其中n>m≥1注意关键词的各次出现不允许有交叉重叠例如在aaaa中只出现两次aa该流程图采用的算法是在字符串A中从左到右寻找与字符串B相匹配的并且没有交叉重叠的所有子串流程图中i为字符串A中当前正在进行比较的动态子串首字符的下标j为字符串B的下标k为指定关键词出现的次数[流程图]
阅读以下说明和流程图回答下面问题[说明]图1所示的流程图中有两个判断条件A>0和B>0这些判断条件的各种组合情况如图2所示表中Y表示相应的条件成立N表示相应的条件不成立每一列表示一种条件组合并在列首用相应的序号来表示当遇到哪几种条件组合时流程图能执行1→i写出相应的序号即可
阅读以下说明和C函数将应填入______处的语句或语句成分写在对应栏内[说明1]函数deldigitchar*s的功能是将字符串s中的数字字符去掉使剩余字符按原次序构成~个新串并保存在原串空间中其思路是先申请一个与s等长的临时字符串空间并令t指向它将非数字字符按次序暂存入该空间最后再复制给s[C函数]voiddeldigitchar*schar*t=char*malloc______;/*申请串空间*/intik=0;if!treturn;fori=0;i<strlens;i++=if!*s+i>=’0’&&*s+i<=’9’t[k++]=______;______=’/0’/*设置串结束标志*/strcpyst;freet;[说明2]函数reversechar*sintlen的功能是用递归方式逆置长度为len的字符串s例如若串s的内容为abcd则逆置后其内容变为dcba[C函数]voidreversechar*sintlencharch;if______ch=*s;*s=*s+len-1;*s+len-1=ch;reverse______;
阅读以下说明和C函数将应填入______处的语句或语句成分写在对应栏内[说明1]函数deldigitchar*s的功能是将字符串s中的数字字符去掉使剩余字符按原次序构成~个新串并保存在原串空间中其思路是先申请一个与s等长的临时字符串空间并令t指向它将非数字字符按次序暂存入该空间最后再复制给s[C函数]voiddeldigitchar*schar*t=char*malloc______;/*申请串空间*/intik=0;if!treturn;fori=0;i<strlens;i++=if!*s+i>=’0’&&*s+i<=’9’t[k++]=______;______=’/0’/*设置串结束标志*/strcpyst;freet;[说明2]函数reversechar*sintlen的功能是用递归方式逆置长度为len的字符串s例如若串s的内容为abcd则逆置后其内容变为dcba[C函数]voidreversechar*sintlencharch;if______ch=*s;*s=*s+len-1;*s+len-1=ch;reverse______;
阅读以下说明和流程图将应填入______处的字句写在对应栏内[说明]下面的流程图旨在统计指定关键词在某一篇文章中出现的次数设这篇文章由字符A0An-1依次组成指定关键词由字符B0Bm-1依次组成其中n>m≥1注意关键词的各次出现不允许有交叉重叠例如在aaaa中只出现两次aa该流程图采用的算法是在字符串A中从左到右寻找与字符串B相匹配的并且没有交叉重叠的所有子串流程图中i为字符串A中当前正在进行比较的动态子串首字符的下标j为字符串B的下标k为指定关键词出现的次数[流程图]
阅读以下说明和C函数填充函数中的空缺[说明]如果矩阵A中的元素A[ij]满足条件A[ij]是第i行中值最小的元素且又是第j列中值最大的元素则称之为该矩阵的一个马鞍点一个矩阵可能存在多个马鞍点也可能不存在马鞍点下面的函数求解并输出一个矩阵中的所有马鞍点最后返回该矩阵中马鞍点的个数[C函数]IntfindSaddleinta[][N]intM/*a表示M行N列矩阵N是宏定义符号常量*/introwcoiumnik;intminElem;intcount=0;/*count用于记录矩阵中马鞍点的个数*/forrow=0;row<______;row++/*minElem用于表示第row行的最小元素值其初值设为该行第0列的元素值*/______;forculumn=1;column<______;column++ifminElem>a[row][column]minElem=a[row][coiumn];fork=0;k<N;k++ifa[row][k]==minelem/对第row行的每个最小元素判断其是否为所在列的最大元素*/fori=0;i<M;i++if______>minElembreak;ifi>=______printf%d%d:%d/nrowkminElem;/*输出马鞍点*/count++;/*if*//*if*//*for*/returncount/*findSaddle*/
阅读以下说明和C函数填充函数中的空缺[说明]已知两个整数数组A和B中分别存放了长度为m和n的两个非递减有序序列函数AdjustmentABmn的功能是合并两个非递减序列并将序列的前m个整数存入A中其余元素依序存入B中例如合并前合并后数组A的内容1928147数组B的内容47122937912282937合并过程如下从数组A的第一个元素开始处理用数组B的最小元素B[0]与数组A的当前元素比较若A的元素较小则继续考查A的下一个元素否则先将A的最大元素暂存入temp然后移动A中的元素挪出空闲单元并将B[0]插入数组A最后将暂存在temp中的数据插入数组B的适当位置保持B的有序性如此重复直到A中所有元素都不大于B中所有元素为止[C函数]voidAdjustmentintA[]intB[]intmintn/*数组A有m个元素数组B有n个元素*/intktemp;fori=0;i<m;i++ifA[i]<=B[0]continuetemp=______;/*将A中的最大元素备份至temp*//*从后往前依次考查A的元素移动A的元素并将来自B的最小元素插入A中*/fork=m-1;______;k--A[k]=A[k-1];A[i]=______;/*将备份在七emp的数据插入数组B的适当位置*/fork=1;______&&k
阅读以下说明和C函数填充函数中的空缺[说明]如果矩阵A中的元素A[ij]满足条件A[ij]是第i行中值最小的元素且又是第j列中值最大的元素则称之为该矩阵的一个马鞍点一个矩阵可能存在多个马鞍点也可能不存在马鞍点下面的函数求解并输出一个矩阵中的所有马鞍点最后返回该矩阵中马鞍点的个数[C函数]IntfindSaddleinta[][N]intM/*a表示M行N列矩阵N是宏定义符号常量*/introwcoiumnik;intminElem;intcount=0;/*count用于记录矩阵中马鞍点的个数*/forrow=0;row<______;row++/*minElem用于表示第row行的最小元素值其初值设为该行第0列的元素值*/______;forculumn=1;column<______;column++ifminElem>a[row][column]minElem=a[row][coiumn];fork=0;k<N;k++ifa[row][k]==minelem/对第row行的每个最小元素判断其是否为所在列的最大元素*/fori=0;i<M;i++if______>minElembreak;ifi>=______printf%d%d:%d/nrowkminElem;/*输出马鞍点*/count++;/*if*//*if*//*for*/returncount/*findSaddle*/
阅读以下说明和C函数填充函数中的空缺[说明]函数Insert_key*rootkey的功能是将键值key插入到*root指向根结点的二叉查找树中二叉查找树为空时*root为空指针若给定的二叉查找树中已经包含键值为key的结点则不进行插入操作并返回0否则申请新结点存入key的值并将新结点DHA树中返回1提示二叉查找树又称为二叉排序树它或者是一棵空树或者是具有如下性质的二叉树若它的左子树非空则其左子树上所有结点的键值均小于根结点的键值若它的右子树非空则其右子树上所有结点的键值均大于根结点的键值左右子树本身就是二叉查找树设二叉查找树采用二叉链表存储结构链表结点类型定义如下typedefstructBiTnodeintkey_value;/*结点的键值为非负整数*/structBiTnode*left*right;/*结点的左右子树指针*/BiTnode*BSTree;[C函数]intInsert_keyBSTree*rootintkeyBiTnode*father=NULL*p=*root*s;while______&&key!=p->key_value/*查找键值为key的结点*/father=p;ifkey<p->key_valuep=______;/*进入左子树*/elsep=______;/进入右子树*/ifpreturn0;/*二叉查找树中已存在键值为key的结点无需再插入*/s=BiTnode*malloc______;/*根据结点类型生成新结点*/if!srettlrn-1;s->key_value=key;s->left=NULL;s->right=NULL;if!father______;/*新结点作为二叉查找树的根结点*/else/*新结点插入二叉查找树的适当位置*/ifkey<father->key_valuefather->left=s;elsefather->right=s;return1;
阅读以下说明和C函数填补C函数中的空缺[说明]函数numberOfwordscharmessage[]的功能是计算存储在message字符数组中的一段英文语句中的单词数目输出每个单词单词长度超过20时仅输出其前20个字母并计算每个英文字母出现的次数即频数字母计数时不区分大小写假设英文语句中的单词合乎规范此处不考虑单词的正确性单词不缩写或省略即不会出现类似don’t形式的词单词之后都为空格或标点符号函数中判定单词的规则是1一个英文字母串是单词2一个数字串是单词3表示名词所有格的撇号’与对应的单词看作是一个单词除上述规则外其他情况概不考虑例如句子The1990’switnessedmanychangesinpeople’sconceptsofconservation中有10个单词输出如下The1990’switnessedmanychangesinpeople’sconceptsofconservation函数numberOfwords中用到的部分标淮库函数如下所述函数原型说明intislowerintch;若ch表示一个小写英文字母则返回一个非0整数否则返回0intisupperintch若ch表示一个大写英文字母则返回一个非0整数否则返回0intisalnumintch;若ch表示一个英文字母或数字字符则返回一个非0整数否则返回0intisabhaintch;若ch表示一个英文字母则返回一个非0整数否则返回0intisdigitintch;若ch表示一个数字字符则返回一个非0整数否则返回0[C函数]intnumberOfwordscharmessage[]charwordbuffer[21]i=0;/*i用作wordbuffer的下标*/______pstr;intps[26]=0;/*ps[0]用于表示字母’A’或’a’的频数*//*ps[1]用于表示字母’B’或’b’的频数依此类推*/intwordcounter=0;Pstr=message;while*pstrif______*pstr/*调用函数判断是否为一个单词的开头字符*/i=0;do/*将一个单词的字符逐个存入wordbuffer[]并对字母计数*/wordbuffer[i++]=*pstr;ifisalpha*pstrif______*pstrps[*pstr-’a’]++;elseps[*pstr-’A’]++;______;/*pstr指向下一字符*/whilei<20&&isalnum*pstr||*pstr==’/;ifi>=20/*处理超长单词含名词所有格形式*/whileisalnum*pstr||*pstr==’\pstr++;______=’/0’;/*设置暂存在wordbuffer中的单词结尾*/wordcounter++;/*单词计数*/putswordbuffer;/*输出单词*/______;/*pstr指向下一字符*/returnwordcounter;
热门题库
更多
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术
移动通信专业技术
有线传输专业技术
电话交换专业技术