首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
阅读下列说明,回答问题1至问题3。 【说明】 关于一位花商有以下一些事实。 (1)销售在不同地区生长的花,这些地区一年的最低气温在一定范围内变化。 (2)想用编号来表示发货类型。 (3)要...
查看本题答案
包含此试题的试卷
中级软件设计师《问答集》真题及答案
点击查看
你可能感兴趣的试题
阅读下列说明回答问题1至问题4将解答填入对应栏内 【说明】 希赛IT教育研发中心要建立一个22台
阅读下列说明回答问题1至问题3【说明】某公司要开发一个多媒体辅导系统该系统准备利用B/S架构用户通过
阅读下列说明回答问题1至问题3 [说明] 信息系统管理工作主要是优化信息部门的各类管理
试题三 阅读以下说明回答问题1至问题5将解答填入答题纸对应的解答栏内 【说明】 在
阅读下列说明回答问题1至问题3 【说明】某企业进行企业信息化工程建设主要包括综合布线工程网络与主机
阅读下列说明回答问题1至问题2将解答填入对应栏内 【说明】利用WindowsServer 200
阅读下列说明回答问题1至问题3将解答填入答题纸的对应栏内【说明】下表是某项目的工程数据根据各个
阅读以下说明回答问题1至问题3 【说明】路由器中IP访问控制列表能够帮助控制网上包的传输
阅读下列说明回答问题1至问题3 【说明】 某企业进行企业信息化工程建设主要包括
试题三 阅读以下说明回答问题1至问题5将解答填入答题纸对应的解答栏内 【说明】 在
阅读下列说明回答问题1至问题5将解答填入对应栏内 【说明】 建立企业的Internet时经常遇到
阅读下列说明回答问题1至问题3 【说明】某企业进行企业信息化工程建设主要包括综合布线工程网络与主机
阅读下列说明回答问题1至问题2将解答填入对应栏内 【说明】利用WindowsServer 200
试题二15分阅读下列说明回答问题1至问题3将解答填入答题纸的对应栏内[说明]下图为教育城教育远
阅读下列说明回答问题1至问题4将解答填入对应栏内 【说明】WindowsServer2008是基于
阅读下列说明回答问题1至问题3【说明】某公司要开发一个多媒体辅导系统该系统准备利用B/S架构用户通过
阅读下列说明回答问题1至问题2将解答填入对应栏内 【说明】利用WindowsServer 200
阅读以下说明回答问题1至问题4 某高校网络拓扑结构如图2-15所示 【问题4】 非法D
试题三 阅读以下说明回答问题1至问题5将解答填入答题纸对应的解答栏内 【说明】 在
阅读下列说明回答问题1至问题3 【说明】关于一位花商有以下一些事实 1销售在不同地区生长的花这些
热门试题
更多
阅读下列函数说明和C代码填入n处字句并回答相应问题 [说明] 背包问题就是有不同价值不同重量的物品n件求从这n件物品中选取一部分物品的选择方案使选中物品的总重量不超过指定的限制重量而且选中物品的价值之和为最大 背包问题是一个典型的NP完全难题对该问题求解方法的研究无论是在理论上还是在实践中都具有一定的意义如管理中的资源分配投资决策装载问题等均可建模为背包问题 常用的背包问题求解方法很多但本题中采用了一种新的算法来求解背包问题该算法思想为首先要对物品进行价重比排序然后按价重比从大到小依次装进包裹这种方法并不能找到最佳的方案因为有某些特殊情况存在但只要把包中重量最大的物品取出继续装入直到达到limitweight这时的物品就是limit weight的最大价值这种算法不需要逐个进行试探所以在数据非常大时执行效率主要由排序的时间复杂度决定该算法的流程图为图11-4 仔细阅读程序说明和C程序流程图及源码回答问题1和问题2[流程图11-4] [程序说明]structThing物品结构 typedefstructBag背包结构类型input 将物品按序号依次存入数组函数inbag物品按物价比入包函数 init初始化函数sort 对物品按价格重量比排序函数outbag 取出包中weiht最大的物品函数print最佳方案输出函数 [C程序]#defineN255structThing {doubleweight; doublevalue; doubledens;}thing[N]; typedefstmctBag{Thing thing[N];double weighttmp;double sumvalue;}bagbest;inbag {do{ bag.thing[i]=thing[i]1 2 i++;}while 3}init {forinti=0;i<N;i++ {inputthing[i].weightthing [i].valuething[i].dens=thing[i].value/thing [i].weight;};}main {init;sort ;inbag;do{ best=bag;//把包中物品放入暂存数组outbag; //取出包中weight最大的物品4 }while5 printbest//输出temp因为是最佳方案 } [问题1] 根据程序说明及流程图部分C源码充分理解算法思想填入n 处
阅读下列函数说明和C++代码将应填入n处的字句写在对应栏内 [说明] 在销售系统中常常需要打印销售票据有时需要在一般的票据基础上打印脚注这样就需要动态地添加一些额外的职责如下展示了Decorator修饰模式SalesOrder对象使用一个SalesTicket对象打印销售票据先打印销售票据内容然后再打印脚注图5-1显示了各个类间的关系以下是C++语言实现能够正确编译通过 [图5-1] [C++代码] classComponent{ public 1voidprtTicket=0 } classSalesTicketpublicComponent{ public voidprtTicket{ cout<<"SalesTicket!"<<endl } } classDecoratorpublicComponent{ public virtualvoidprtTicket DecoratorComponent*myC private 2myComp } DecoratorDecoratorComponent*myC { myComp=myC } voidDecoratorprtTicket { myComp->prtTicket } classFooterpublicDecorator{ public FooterComponent*myC voidprtTicket voidprtFooter } FooterFooterComponent*myC3{} voidFooterprtFooter { cout<<"Footer"<<endl } voidFooterprtTicket { 4 prtFooter } classSalesOrder{ public voidprtTicket } voidSalesOrderprtTicket { Component*myST myST=newFooter5 myST->prtTicket } 5处填
阅读下列函数说明和C代码将应填入n处的字句写在对应栏内 [说明] HufTman树又称最优二叉树是一类带权路径长度最短的树在编码中应用比较广泛 构造最优二叉树的Huffman算法如下 ①根据给定的n各权值{W1w2…wn构成n棵二叉树的集合F={T1T2…Tn}其中每棵树Ti中只有一个带权为wi的根节点其左右子树均空 ②在F中选取两棵根节点的权值较小的树作为左右子树构造一棵新的二叉树置新构造二叉树的根节点的权值为其左右予树根节点的权值之和 ③从F中删除这两棵树同时将新得到的二叉树加入到F中 重复②③直到F中只剩一棵树为止 函数中使用的预定义符号如下 #defineINTMAX10000 #defineENCODINGLENGTH1000 typedefenumnoneleft_childright_childWhich /*标记是左孩子还足右孩子*/ typedefcharElemtype typedefstructTNode{//Huffman树节点 Elemtypeletter int weight//权值 intparent//父节点 Whichsigh char*code//节点对应编码 }HTNode*HuffmanTree intn charcoding[50]//储存代码 [函数] voidSelectHuffmanTreeHTintendint*slint*s2 /*在0~END之间找出最小和次小的两个节点序号返吲S1S2*/ { inti intmin1=INT_MAX intmin2=INT_MAX fori=0i<=endi++{/*找最小的节点序号*/ if1&&HT[i].weight<minl{ *s1=i min1=HT[i].weight } } fori=0i<=endi++{/*找次小节点的序号*/ ifHT[i].parent==0&&2 &&min2>HT[i].weight{ *s2=i min2=HT[i].weight } } } voidHuffmanTreeCreatHuffmanTree&HT/*建立HUFFMAN树*/ { inti intm=2*n-1 ints1s2 fori=ni<mi++{ Select3 HT[s1].parent=i HT[s2].parent=i HT[s1].sigh=leftchild HT[s2].sigh=rightchild HT[i].weight=4 } } voidHuffmanTreeEncodingcharsen[]HuffmanTreeHT {/*将句子进行编码*/ inti=0 intj whilesen[i]!=’\0’{ forj=0j<nj++{ ifHT[j].letter==sen[i]/*字母吻合则用代码取代*/ strcatcoding5 break } } i++ ifSen[1]==32i++ } printf"/n%s"coding } 2处填
阅读以下说明和程序流程图将应填入n处的字句写在对应栏内 [说明] 假定用一个整型数组表示一个长整数数组的每个元素存储长整数的一位数字则实际的长整数m表示为 m=a[k]×10k-2+a[k-1]×10k-3+…+a[3]×10+a[2] 其中a[1]保存该长整数的位数a[0]保存该长整数的符号0表示正数1表示负数注数组下标从0开始 流程图图4-1用于计算长整数的加减法运算时先决定符号再进行绝对值运算对于绝对值相减情况总是绝对值较大的减去绝对值较小的以避免出现不够减情况注此处不考虑溢出情况即数组足够大这样在程序中引进两个指针pA和pB分别指向绝对值较大者和较小者而对绝对值相加情况让pA指向LApB指向LB不区分绝对值大小pA±pB可用通式pA+flag*pB来计算flag为+1时即对应pA+pBflag为-1时即对应pA-pB需特别注意的是对于相减不够减时要进行借位而当 最高位借位后正好为0时结果的总位数应减1对于加法有最高进位时结果的总位数应加1 流程图中涉及的函数说明如下 1cmpint*LAint*LB函数用于比较长整数LA与LB的绝对值大小若LA绝对值大于LB绝对值则返回正值LA绝对值小于LB绝对值返回负值相等则返回0 2maxintAintB函数用于返回整数A与B中较大数 另外对流程图中的写法进行约定1“=”表示赋值如“flag=LA[0]+LB[0]”表示将“LA[0]+LB[0]”的结果赋给flag相当于C中的赋值语句“flag=LA[0]+LB[0]”2“”表示比较运算如“flag1”表示flag与1比较 5处填
阅读以下说明和Jrdva代码将应填入n处的字句写在对应栏内 [说明] 在销售系统中常常需要打印销售票据有时需要在一般的票据基础上打印脚注这样就需要动态地添加一些额外的职责如下展示了Decorator修饰模式SalesOrder对象使用一个SalesTicket对象打印销售票据图6-1显示了各个类间的关系以下是Java语言实现能够正确编译通过 [图6-1] [Java代码] //Component.jav__件 public1classComponent{ abstractpublicvoidprtTicket } //salesTicket.jav__件 publicclassSalesTicketextendsComponent{ publicvoidprtTicket{ //Salesticketprintingcodehere System.out.printin"SalesTicket" } } //Decorator.jav__件 publicabstractclassDecoratorextendsComponent{ publicvoidprtTicket{ ifmyComp!=nullmyComp.prtTicket } private2myComp publicDecoratorComponentmyC{ myComp=myC } } //Footer.jav__件 publicclassFooterextendsDecorator{ publicFooterComponentmyC{ 3 } publicvoidprtTicket{ 4 prtFooter } publicvoidprtFooter{ //placeprintingfootercodehere System.out.println"Footer" } } //salesorder.jav__件 publicclassSalesOrder{ voidprtTicket{ ComponentmyST myST=newFooter5 //PrintTicketwithfootersasneeded myST.prtTicket } } 2处填
阅读以下说明和Jrdva代码将应填入n处的字句写在对应栏内 [说明] 在销售系统中常常需要打印销售票据有时需要在一般的票据基础上打印脚注这样就需要动态地添加一些额外的职责如下展示了Decorator修饰模式SalesOrder对象使用一个SalesTicket对象打印销售票据图6-1显示了各个类间的关系以下是Java语言实现能够正确编译通过 [图6-1] [Java代码] //Component.jav__件 public1classComponent{ abstractpublicvoidprtTicket } //salesTicket.jav__件 publicclassSalesTicketextendsComponent{ publicvoidprtTicket{ //Salesticketprintingcodehere System.out.printin"SalesTicket" } } //Decorator.jav__件 publicabstractclassDecoratorextendsComponent{ publicvoidprtTicket{ ifmyComp!=nullmyComp.prtTicket } private2myComp publicDecoratorComponentmyC{ myComp=myC } } //Footer.jav__件 publicclassFooterextendsDecorator{ publicFooterComponentmyC{ 3 } publicvoidprtTicket{ 4 prtFooter } publicvoidprtFooter{ //placeprintingfootercodehere System.out.println"Footer" } } //salesorder.jav__件 publicclassSalesOrder{ voidprtTicket{ ComponentmyST myST=newFooter5 //PrintTicketwithfootersasneeded myST.prtTicket } } 4处填
阅读下列函数说明和C++代码将应填入n处的字句写在对应栏内 [说明] 在销售系统中常常需要打印销售票据有时需要在一般的票据基础上打印脚注这样就需要动态地添加一些额外的职责如下展示了Decorator修饰模式SalesOrder对象使用一个SalesTicket对象打印销售票据先打印销售票据内容然后再打印脚注图5-1显示了各个类间的关系以下是C++语言实现能够正确编译通过 [图5-1] [C++代码] classComponent{ public 1voidprtTicket=0 } classSalesTicketpublicComponent{ public voidprtTicket{ cout<<"SalesTicket!"<<endl } } classDecoratorpublicComponent{ public virtualvoidprtTicket DecoratorComponent*myC private 2myComp } DecoratorDecoratorComponent*myC { myComp=myC } voidDecoratorprtTicket { myComp->prtTicket } classFooterpublicDecorator{ public FooterComponent*myC voidprtTicket voidprtFooter } FooterFooterComponent*myC3{} voidFooterprtFooter { cout<<"Footer"<<endl } voidFooterprtTicket { 4 prtFooter } classSalesOrder{ public voidprtTicket } voidSalesOrderprtTicket { Component*myST myST=newFooter5 myST->prtTicket } 3处填
阅读下列说明回答问题1~问题4 【说明】 某超市的销售业务由一个销售业务管理系统进行管理该系统每完成一次交易都需要提供顾客发票其格式见表6所示 对于这样一个销售业务管理系统分别给出了以下两种关系数据库的设计下划线表示主关键字设计一 顾客Customer顾客代码Cno姓名name住址address联系电话phone 收银员Salesman收银员代码Sno身份证号idno姓名name住址address联系电话 phone商品Merchandise商品代码Mno商品名称Mname价格price 发票Invoice发票号码Ino交易日期Idate顾客代码Cno收银员代码Sno商品代码 Mno单价unitpfice数量amount设计二 顾客Customer顾客代码Cno姓名name住址address联系电话phone 收银员Salesman收银员代码Sno身份证号idno姓名name住址address联系电话phone 商品Memhandise商品代码Mno商品名称Mname价格price 发票Ivoice发票号码Ino交易日期Idate顾客代码Cno收银员代码Sno 发票明细Invoicedetail发票号码Ino商品代码Mno单价unitprice数量amount 【问题4】 设计二中关系Merchandise中由属性price表示商品价格关系lnvoicedetail中的属性 unitprice也表示商品价格两个是否有必要同时存在为什么
阅读下列说明和数据流图回答问题1至问题3将解答填入对应栏内 [说明] 下面给出的是某房产管理系统的一套分层数据流图其功能描述如下 1系统随时根据住房送来的入住单更新住户基本信息文件 2每月初系统根据物业管理委员会提供的月附加费例如清洁费保安费大楼管理费等表和房租调整表计算每家住户的月租费包括月附加费向住户发出交费通知单住户交费时系统输入交费凭证核对后输出收据给住户 3系统定期向物业管理委员会提供住房分配表和交费清况表 4住户因分户或换房在更新住户基本信息文件的同时系统应立即对这些住户做月租费计算以了结分户或换房前的房租 数据流图如图1-4所示 假定题中提供的DFD是正确的请回答下列问题 指出在哪些图中遗漏了哪些数据流 回答时请用如下形式之一 1××图中遗漏了××加工或文件流向××加工或文件的××数据流 2××图中加工××遗漏了输入或输出数据流××
[说明] 以下程序实现了利用鼠标任意移动圆形的位置仔细阅读代码和相关注释将程序补充完整 [代码6-1] importjava.awt.*; importjava.awt.event.*; publicclassCIUSAMPLEextendsFrameimplementsMouseMotionListenerMouseListener { staticCIUSAMPLEfrm=newCIUSAMPLE; intx=70y=60posX=70posY=60dxdy; publicstaticvoidmainStringargs[] { frm.setTitleDraggingacircle; frm.setSize200150; 1 ffm.addMouseMotionListenerfrm; frm.setVisibletrue; } publicvoidmousePressedMouseEvente { 2 dy=e.getY-posY; } publicvoidmouseDraggedMouseEvente { 3 y=e.getY-dy; ifdx>0&&dx<50&&dy>0&&dy<50//如果指针落在正方形区域内 { Graphicsg=getGraphics; 4 } } publicvoidpaintGraphicsg { g.setColorColor.pink;//设置绘图颜色为粉红 g.fillOvalxy5050;//以基准点为图形在左上角绘出圆形 5 posY=y } publicvoidmouseMovedMouseEvente{} publicvoidmouseReleasedMouseEvente{} publicvoidmouseEnteredMouseEvente{} publicvoidmouseExitedMouseEvente{} publicvoidmouseClickedMouseEvente{} }
阅读下列说明回答问题1~问题4 【说明】 某超市的销售业务由一个销售业务管理系统进行管理该系统每完成一次交易都需要提供顾客发票其格式见表6所示 对于这样一个销售业务管理系统分别给出了以下两种关系数据库的设计下划线表示主关键字设计一 顾客Customer顾客代码Cno姓名name住址address联系电话phone 收银员Salesman收银员代码Sno身份证号idno姓名name住址address联系电话 phone商品Merchandise商品代码Mno商品名称Mname价格price 发票Invoice发票号码Ino交易日期Idate顾客代码Cno收银员代码Sno商品代码 Mno单价unitpfice数量amount设计二 顾客Customer顾客代码Cno姓名name住址address联系电话phone 收银员Salesman收银员代码Sno身份证号idno姓名name住址address联系电话phone 商品Memhandise商品代码Mno商品名称Mname价格price 发票Ivoice发票号码Ino交易日期Idate顾客代码Cno收银员代码Sno 发票明细Invoicedetail发票号码Ino商品代码Mno单价unitprice数量amount 【问题2】 根据设计二中关系模式以下SQL语句是用于建立2005年1月期间每张发票的发票号交易日期交易商品件数和交易总金额的视图的不完整语句请填补其中的空缺 CREATEVIEWInvoice-total1SELECT Invoice.inoldate23 FROMInvoicelnvoicedetailWHERE4 ANDldateBETWEEN’2005-01-01’AND ’2005-01-31’GROUPBY5
由权值为5926的4个叶子构造一棵哈夫曼树该树的带权路径长度为
阅读下列说明和算法回答问题1和问题2 【说明】 算法2-1是用来检查文本文件中的圆括号是否匹配若文件中存在圆括号没有对应的左括号或者右括号则给出相应的提示信息如下所示 文件 提示信息1+2abc 缺少对应左括号第2行第4列defgx 缺少对应左括号第3行第10列h ijk1ml 缺少对应右括号第5行第4列第4行第1列 在算法2-1中stack为一整数栈算法中各函数的说明见表4 表4 函数名 函数功能 pushinti 将整数i压人栈stack中 pop stack的栈顶元素出栈 empty 判断stack栈是否为空若为空函数返回1否则函数返回0 nextch 读取文本文件中的下—个字符井返回该字符的ASCII值将字符所在的行号以及字符在行中的位置分别存储到变量row和col中若遇到文件结束符则将变量EOF置为true kindcharch 判断字符ch是左括号还是右括号若是左括号函数返回1若是右括号函数返回2若两者都不是函数返回【算法2-1】将栈stack 置空置EOF为falsech<-nextch;whilenotEOFk<-kindCH;ifk==1 push2;push3;elseifk==4ifnot emptypop;pop;else显示错误信息缺少对应左括号或右括号显示行号row显示列号colendifendif ch<-nextch;endwhileifnotempty显示错误信息缺少对应左括号或右括号whilenot emptyrow<-pop;col<-pop;显示行号row;显示列号col;endwhileendif 为了识别更多种类的括号对算法2-1加以改进后得到算法2-2算法2-2能够识别圆括号方括号和花括号不同类型的括号不能互相匹配改进后函数kindchar ch的参数及其对应的返回值见表5表五 ch { } [ ] 其他 返回值 1 2 3 4 5 6 0 【算法2-2】将栈stack置空置EOF为falsech< -nextchwhilenotEOF k<-kindchifk>0 if判断条件1 push5;push 6;push7; elseif判断条件2and判断条件3 pop;pop;pop; else 显示行号row显示列号col endifendifch<- nextch;endwhileifnotempty 显示错误信息缺少对应左括号或右括号whilenotempty pop;row←pop;col←pop; 显示行号row显示列号colendwhileendif 【问题2】 请从下面的选项中选择相应的判断逻辑填补【算法2-1】中的判断条件1至判断条件3注意若判断条件2的逻辑判断结果为假就无需对判断条件3进行判断 a字符是括号b字符是左括号c字符是右括号 d栈空e栈不空 f栈顶元素表示的是与当前字符匹配的左括号 R栈顶元素表示的是与当前字符匹配的右括号
假定SP表存储供应情况如下的SQL语句是用于查询“产地为‘Beijing’零件号为‘P101’的零件的所供应的总数包括所有供应商”的不完整语句请在空缺处填入正确的内容 SELECTSUMQty FROMSP WHEREPNo=”P101’ 1PNo2 SELECTPNo FROM3 WHEREcity="Beijing" 4PNo; 1处填
阅读以下说明和表回答问题1~3问题 [说明]在学校中存在以下关系 a一个系有若干学生但一个学生只能在一个系 b一个学生可以选修多门课程每门课程有若干学生选修 c每个学生所学的每门课程都有一个成绩 该校在学生信息管理数据库设计了三个基本表分别为表一表二表三 a表一学生信息表STUDENTSTIDNAMEAGEDEPTNO其中STID表示学号NAME表示学生姓名AGE表示年龄DEPTNO表示系号 b表二课程表COURSECOIDNAME其中COID表示课程号NAME表示课程名 c表三成绩表SCORESCIDCOIDGRADE其中SCID表示学号COID表示课程号 GRADE表示成绩成绩为空时表示这学期正在上的课程 [问题1] 根据要求将SQL语句补充完整1查询各系的学生数SELECT 1COUNT*2 GROUPBYDEPTNO 2更改课程号为C601的课程名为大学物理UPDATE3 SET4 3基于学生信息表建立一个计算机系系编号为D01的学生视图写出命令CREATEORREPLACE VIEWV_STUDENTAS5
以下不属于服务器磁盘接口总线标准的是
假定SP表存储供应情况如下的SQL语句是用于查询“产地为‘Beijing’零件号为‘P101’的零件的所供应的总数包括所有供应商”的不完整语句请在空缺处填入正确的内容 SELECTSUMQty FROMSP WHEREPNo=”P101’ 1PNo2 SELECTPNo FROM3 WHEREcity="Beijing" 4PNo; 3处填
阅读以下说明和数据流图回答问题1~3问题 [说明] 研究生招生系统旨在用计算机对学校的研究生招生事务进行管理研究生招生可分为报名阶段考试阶段和录取阶段招生报考前招生处要进行考前准备工作如统计招生导师考试科目以及制定报考专业标准代码等招生导师信息包括导师的姓名性别年龄出生年月所从事专业和研究方向以及所在系别考试科目包含科目代码科目的名称以及报考本科目的考试人数在报名阶段考生向招生处提交报名数据表研究生系统根据考生的报考数据确定考生准考生号并通知考生考试日期在考试阶段考试结束后考生成绩录入研究生招生系统考生可以从研究生招生系统中获取自己的考试成绩在录取阶段研究生招生系统根据考生的报考数据考试成绩外校调剂考生信息以及往年保留资格记录文件确定录取数据并形成录取文件系统统计并记录相关招生信息以供查询对被录取的考生发放录取通知书对需要保留资格的考生记录其信息以供下年度招生使用招生处可以从研究生招生系统中获得录取数据和招生情况的统计信息以供咨询 数据流图11-1为研究生招生系统顶层图数据流图11-2为研究生招生系统第0层DFD图数据流图11-3为加工3的细化图 [数据流图11-1][数据流图11-2] [数据流图11-3] [问题2] 数据流图11-3中还依赖于哪个文件请指出文件名称并指出与其有关的数据流的起点和终点
阅读以下说明和C代码将应填入n处的字句写在对应栏内 [说明] 函数combineabc是计算两个整数的组合数由于计算结果可能超出10ng整型的可表示范围故采用数组方式存储例如k位长整数m用数组c[]存储结构如下m=c[k]×10k-1+c[k-1]×10k-2+…+c[2]×10+c[1]利用c[0]存储长整数m的位数即c[0]=k数组的每个元素只存储长整数m的一位数字长整数运算时产生的中间结果的某位数字可能会大于9这是就应该调用format将其归整使数组中的每个元素始终只存储长整数的一位数字 整数a和ba>b的组合数为其中u1=au2]=a-1…ub=a-b+1d1=1d2=2…db=b为了计算上述分式先从u1u2…ub中去掉d1×d2×…×db的因子得到新的u1u2…ub然后再将它们相乘 [函数] #defineNAXN100 intgcdintaintb//求两个整数a和b的最大公因子 { ifa<b{ intC=aa=bb=c } forinti=bi>=2i--{ if1returni } return1 voidformatint*a//将长整数数组归整 { inti fori=1i<a[0]||a[i]>=10i++{ ifi>=a[0]2 a[i+1]+=a[i]/10 a[i]=a[i]%10 } ifi>a[0]3 } voidcombineintaintbint*C { intiJkx intd[MAXN]u[MAXN] k=0 fori=ai>=a-b+1i--u[++k]=i u[0]=b fori=1i<=bi++d[i]=i fori=1i<=u[0]i++{//从u中各元素去掉d中整数的因子 forj=1j<=bj++{ x=gcdu[i]d[j]//计算最大公约数 u[i]/=X d[j]/=x } 4C[1]=1//长整数c初始化 fori=1i<=u[0]i++//将u中各整数相乘存于长整数c中 ifu[i]!=1{ forj=1j<=c[0]j++{ C[j]=5 } formatC//将长整数c归整 } } } 5处填
阅读下列函数说明和C++代码将应填入n处的字句写在对应栏内 [说明] 在销售系统中常常需要打印销售票据有时需要在一般的票据基础上打印脚注这样就需要动态地添加一些额外的职责如下展示了Decorator修饰模式SalesOrder对象使用一个SalesTicket对象打印销售票据先打印销售票据内容然后再打印脚注图5-1显示了各个类间的关系以下是C++语言实现能够正确编译通过 [图5-1] [C++代码] classComponent{ public 1voidprtTicket=0 } classSalesTicketpublicComponent{ public voidprtTicket{ cout<<"SalesTicket!"<<endl } } classDecoratorpublicComponent{ public virtualvoidprtTicket DecoratorComponent*myC private 2myComp } DecoratorDecoratorComponent*myC { myComp=myC } voidDecoratorprtTicket { myComp->prtTicket } classFooterpublicDecorator{ public FooterComponent*myC voidprtTicket voidprtFooter } FooterFooterComponent*myC3{} voidFooterprtFooter { cout<<"Footer"<<endl } voidFooterprtTicket { 4 prtFooter } classSalesOrder{ public voidprtTicket } voidSalesOrderprtTicket { Component*myST myST=newFooter5 myST->prtTicket } 1处填
阅读下列函数说明和C代码将应填入n处的字句写在对应栏内 [说明] HufTman树又称最优二叉树是一类带权路径长度最短的树在编码中应用比较广泛 构造最优二叉树的Huffman算法如下 ①根据给定的n各权值{W1w2…wn构成n棵二叉树的集合F={T1T2…Tn}其中每棵树Ti中只有一个带权为wi的根节点其左右子树均空 ②在F中选取两棵根节点的权值较小的树作为左右子树构造一棵新的二叉树置新构造二叉树的根节点的权值为其左右予树根节点的权值之和 ③从F中删除这两棵树同时将新得到的二叉树加入到F中 重复②③直到F中只剩一棵树为止 函数中使用的预定义符号如下 #defineINTMAX10000 #defineENCODINGLENGTH1000 typedefenumnoneleft_childright_childWhich /*标记是左孩子还足右孩子*/ typedefcharElemtype typedefstructTNode{//Huffman树节点 Elemtypeletter int weight//权值 intparent//父节点 Whichsigh char*code//节点对应编码 }HTNode*HuffmanTree intn charcoding[50]//储存代码 [函数] voidSelectHuffmanTreeHTintendint*slint*s2 /*在0~END之间找出最小和次小的两个节点序号返吲S1S2*/ { inti intmin1=INT_MAX intmin2=INT_MAX fori=0i<=endi++{/*找最小的节点序号*/ if1&&HT[i].weight<minl{ *s1=i min1=HT[i].weight } } fori=0i<=endi++{/*找次小节点的序号*/ ifHT[i].parent==0&&2 &&min2>HT[i].weight{ *s2=i min2=HT[i].weight } } } voidHuffmanTreeCreatHuffmanTree&HT/*建立HUFFMAN树*/ { inti intm=2*n-1 ints1s2 fori=ni<mi++{ Select3 HT[s1].parent=i HT[s2].parent=i HT[s1].sigh=leftchild HT[s2].sigh=rightchild HT[i].weight=4 } } voidHuffmanTreeEncodingcharsen[]HuffmanTreeHT {/*将句子进行编码*/ inti=0 intj whilesen[i]!=’\0’{ forj=0j<nj++{ ifHT[j].letter==sen[i]/*字母吻合则用代码取代*/ strcatcoding5 break } } i++ ifSen[1]==32i++ } printf"/n%s"coding } 4处填
[说明] 以下C语言程序实现了生成从里到外是连续的自然数排列的回旋矩阵矩阵形式如下 76516 81415 92314 10111213 程序的变量说明如下 x1矩阵上边界 x2矩阵下边界 y1矩阵左边界 y2矩阵右边界 s数组元素升降标记s等于1为升s等于-1为降 a[]存放矩阵元素的数组 仔细阅读C语言程序源码将n处的语句补充完整注每处仅一个语句 [C程序] #include<stdio.h> voidmain { constintN=20; inti=0j=0a[N][N]n; intmx1x2y1y2s; while1 { Printf/ninputmatrixrowNN>=2:; scanf%d&n; printf/n; ifn>=2 break; } m=n*n; x1=0;y1=0;x2=n;y2=n; ifn%2==0 {j=n-1;y2=n-1;s=1;} else {i=n-1;y1=1;s=-1;} while1 { ifs==1 { fori;i<x2;i++a[i][j]=m--; i--; j--; 1 forj;j>=y1;j--a[i][j]=m--; j++; i--; y1++; 2 } else { fori;i>=x1;i-- a[i][j]=m--; i++; j++; 3 forj;j<y2;j++ 4 5 i++; 6 S=i; } ifm<1break; } fori=O;i<n;i++ { forj=O;j<n;j++ printf%6da[i][j]; printf/n; } printf/n; }
阅读以下说明和程序流程图将应填入n处的字句写在对应栏内 [说明] 假定用一个整型数组表示一个长整数数组的每个元素存储长整数的一位数字则实际的长整数m表示为 m=a[k]×10k-2+a[k-1]×10k-3+…+a[3]×10+a[2] 其中a[1]保存该长整数的位数a[0]保存该长整数的符号0表示正数1表示负数注数组下标从0开始 流程图图4-1用于计算长整数的加减法运算时先决定符号再进行绝对值运算对于绝对值相减情况总是绝对值较大的减去绝对值较小的以避免出现不够减情况注此处不考虑溢出情况即数组足够大这样在程序中引进两个指针pA和pB分别指向绝对值较大者和较小者而对绝对值相加情况让pA指向LApB指向LB不区分绝对值大小pA±pB可用通式pA+flag*pB来计算flag为+1时即对应pA+pBflag为-1时即对应pA-pB需特别注意的是对于相减不够减时要进行借位而当 最高位借位后正好为0时结果的总位数应减1对于加法有最高进位时结果的总位数应加1 流程图中涉及的函数说明如下 1cmpint*LAint*LB函数用于比较长整数LA与LB的绝对值大小若LA绝对值大于LB绝对值则返回正值LA绝对值小于LB绝对值返回负值相等则返回0 2maxintAintB函数用于返回整数A与B中较大数 另外对流程图中的写法进行约定1“=”表示赋值如“flag=LA[0]+LB[0]”表示将“LA[0]+LB[0]”的结果赋给flag相当于C中的赋值语句“flag=LA[0]+LB[0]”2“”表示比较运算如“flag1”表示flag与1比较 3处填
【说明】 下面是一个Applet程序其功能是通过一个按钮控制一个窗口的创建显示与隐藏并且以按钮文字作为提示可以随着窗口的状态改变即如果窗口出现则按钮文字为HidemyFrm提示用户点击按钮则隐藏窗口反之亦然请将横线处语句补充完整 程序运行结果如图5所示 importjava.awt.*; importjava.applet.*; <appletcode=ex8_7.classwidth=800height=400> </applet> */ publicclassex8_7extendsApplet{ privateFramefrm; privateButtonshowBtn; publicvoidinit{ showBtn=newButtonShowFrame; 1; } publicbooleanactionEventeObjecto{ ife.target==showBtn{ if2{ 3; frm.dispose 4 showBtnsetLabelShowmyFrm; } else{ frm=newFramemyFrm; frm.resize200150; frm.setBackgroundColor.gray; 5; showBtnsetLabelHidemyFrm; } } returntrue; } } ex8_7html <HTML> <HEAD> <TITLE>ex8_7</TITLE> </HEAD> <BODY> <appletcode=ex8_7classwidth=800height=400> </applet> </BODY> </HTML>
阅读以下说明和C代码将应填入n处的字句写在对应栏内 [说明] 函数combineabc是计算两个整数的组合数由于计算结果可能超出10ng整型的可表示范围故采用数组方式存储例如k位长整数m用数组c[]存储结构如下m=c[k]×10k-1+c[k-1]×10k-2+…+c[2]×10+c[1]利用c[0]存储长整数m的位数即c[0]=k数组的每个元素只存储长整数m的一位数字长整数运算时产生的中间结果的某位数字可能会大于9这是就应该调用format将其归整使数组中的每个元素始终只存储长整数的一位数字 整数a和ba>b的组合数为其中u1=au2]=a-1…ub=a-b+1d1=1d2=2…db=b为了计算上述分式先从u1u2…ub中去掉d1×d2×…×db的因子得到新的u1u2…ub然后再将它们相乘 [函数] #defineNAXN100 intgcdintaintb//求两个整数a和b的最大公因子 { ifa<b{ intC=aa=bb=c } forinti=bi>=2i--{ if1returni } return1 voidformatint*a//将长整数数组归整 { inti fori=1i<a[0]||a[i]>=10i++{ ifi>=a[0]2 a[i+1]+=a[i]/10 a[i]=a[i]%10 } ifi>a[0]3 } voidcombineintaintbint*C { intiJkx intd[MAXN]u[MAXN] k=0 fori=ai>=a-b+1i--u[++k]=i u[0]=b fori=1i<=bi++d[i]=i fori=1i<=u[0]i++{//从u中各元素去掉d中整数的因子 forj=1j<=bj++{ x=gcdu[i]d[j]//计算最大公约数 u[i]/=X d[j]/=x } 4C[1]=1//长整数c初始化 fori=1i<=u[0]i++//将u中各整数相乘存于长整数c中 ifu[i]!=1{ forj=1j<=c[0]j++{ C[j]=5 } formatC//将长整数c归整 } } } 1处填
阅读以下说明和程序流程图将应填入n处的字句写在对应栏内 [说明] 假定用一个整型数组表示一个长整数数组的每个元素存储长整数的一位数字则实际的长整数m表示为 m=a[k]×10k-2+a[k-1]×10k-3+…+a[3]×10+a[2] 其中a[1]保存该长整数的位数a[0]保存该长整数的符号0表示正数1表示负数注数组下标从0开始 流程图图4-1用于计算长整数的加减法运算时先决定符号再进行绝对值运算对于绝对值相减情况总是绝对值较大的减去绝对值较小的以避免出现不够减情况注此处不考虑溢出情况即数组足够大这样在程序中引进两个指针pA和pB分别指向绝对值较大者和较小者而对绝对值相加情况让pA指向LApB指向LB不区分绝对值大小pA±pB可用通式pA+flag*pB来计算flag为+1时即对应pA+pBflag为-1时即对应pA-pB需特别注意的是对于相减不够减时要进行借位而当 最高位借位后正好为0时结果的总位数应减1对于加法有最高进位时结果的总位数应加1 流程图中涉及的函数说明如下 1cmpint*LAint*LB函数用于比较长整数LA与LB的绝对值大小若LA绝对值大于LB绝对值则返回正值LA绝对值小于LB绝对值返回负值相等则返回0 2maxintAintB函数用于返回整数A与B中较大数 另外对流程图中的写法进行约定1“=”表示赋值如“flag=LA[0]+LB[0]”表示将“LA[0]+LB[0]”的结果赋给flag相当于C中的赋值语句“flag=LA[0]+LB[0]”2“”表示比较运算如“flag1”表示flag与1比较 1处填
GB/T19000—2000idtIS09000—2000表示国际标准
在关系模型的完整性约束中实体完整性规则是指关系中2参照完整性规则要求3 2处填
阅读以下说明和C代码将应填入n处的字句写在对应栏内 [说明] 函数combineabc是计算两个整数的组合数由于计算结果可能超出10ng整型的可表示范围故采用数组方式存储例如k位长整数m用数组c[]存储结构如下m=c[k]×10k-1+c[k-1]×10k-2+…+c[2]×10+c[1]利用c[0]存储长整数m的位数即c[0]=k数组的每个元素只存储长整数m的一位数字长整数运算时产生的中间结果的某位数字可能会大于9这是就应该调用format将其归整使数组中的每个元素始终只存储长整数的一位数字 整数a和ba>b的组合数为其中u1=au2]=a-1…ub=a-b+1d1=1d2=2…db=b为了计算上述分式先从u1u2…ub中去掉d1×d2×…×db的因子得到新的u1u2…ub然后再将它们相乘 [函数] #defineNAXN100 intgcdintaintb//求两个整数a和b的最大公因子 { ifa<b{ intC=aa=bb=c } forinti=bi>=2i--{ if1returni } return1 voidformatint*a//将长整数数组归整 { inti fori=1i<a[0]||a[i]>=10i++{ ifi>=a[0]2 a[i+1]+=a[i]/10 a[i]=a[i]%10 } ifi>a[0]3 } voidcombineintaintbint*C { intiJkx intd[MAXN]u[MAXN] k=0 fori=ai>=a-b+1i--u[++k]=i u[0]=b fori=1i<=bi++d[i]=i fori=1i<=u[0]i++{//从u中各元素去掉d中整数的因子 forj=1j<=bj++{ x=gcdu[i]d[j]//计算最大公约数 u[i]/=X d[j]/=x } 4C[1]=1//长整数c初始化 fori=1i<=u[0]i++//将u中各整数相乘存于长整数c中 ifu[i]!=1{ forj=1j<=c[0]j++{ C[j]=5 } formatC//将长整数c归整 } } } 3处填
【程序说明】 本程序先从文件读人各考生的准考证号设为整型数及成绩并将其存放在一棵检索二叉树上二叉树结点的健值是成绩每个结点带一链表链表结点存放取得该成绩的考生的准考证号然后程序按中序遍历检索二叉树从高分到低分输出结果使每行输出成绩及其取得成绩的考生的准考证号 【程序】 #include<stdio.h> typedefstruetidnode{ intid; structidnode*next; }ldNode; typedefstructmarknodeI intmark; ldNode*head; structmarknode*left*right; }MarkNode; charfname[]=sp07.dat; main {intidmark; MarkNode*root=null; FILE*fp=fopenfnamer; if!fp{ printffile%sopenerror/nfname; exit0; } while!feopfp{ fscanffp%d%d&id&mark; btree&rootidmark; } fclosefp; printroot; } btreeMarkNod**mpptrintidintmark {ldNode*ip; MarkNode*mp=*mpptr; if1{ ifmark==p->markaddldNODE2id; elseifmark>mp->markbtree&top->leftidmark; elsebtree&mp->rightidmark; }else Imp=marknode*mallocsizeomarknode; mp->mark=mark; mp->left=mp->right=NULL; 3 addldNode&mp->headid; 4; } } addldNodeldNode**ippintid {ldNode*ip=*ipp; if5addldNode6id; else{ ip=ldNode*mallocsizeofldNode; sp->id=id; ip->next=NULL; 7 } } printMarkNode*rap {ldNode*ip*ip0; ifmp{ printmp->left; printf%6d:/tmp->mark; ip=mp->head; whileip{ printf%6dip->id; ip0=ip; ip=ip->next; freeip0; } printf/n;printfmp->right;freemp; } }
热门题库
更多
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术
移动通信专业技术
有线传输专业技术
电话交换专业技术
电信网络专业技术