首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
阅读以下技术说明、Java源程序和运行测试部分,根据要求回答问题1和问题2。 【说明】 1.HTTP ◆ HTTP请求消息示例 GET/index,htmlHTTP/1.1 ...
查看本题答案
包含此试题的试卷
初级程序员《问答集》真题及答案
点击查看
你可能感兴趣的试题
源程序投入运行后能在运行环境下根据用户的需求比较容易地扩充功能说 明源程序的好
正确性
可读性
可测试性
可维护性
请完善程序程序文件名Java_1.java并进行调试请在下画线处填入正确内容然后删除下画线请勿
根据程序的构成和运行环境的不同Java源程序分为两类即________程序和________程序
请完善程序程序文件名Java_3.java并进行调试请在下画线处填入正确内容然后删除下画线请
阅读以下说明和Java代码将解答写在答题纸的对应栏内 已知类SubClass的getSum方法返回其
请完善程序程序文件名Java_3.java并进行调试请在下画线处填入正确内容然后删除下画线请
试题八 阅读以下说明和Java代码将解答写入答题纸的对应栏内 [说明] 已知类Stock和类Jav
在QESAT/C中下列属于动态测试过程的步骤的是
设定待测试的配置、编译相关的源程序
设定需插装的函数
运行源程序、合并动态运行的结果
以上全部
根据程序的构成和运行环境的不同Java源程序分为两类即______程序和JavaApplet程序
开发运行Java程序的一般步骤是源程序编辑______和______
根据程序的构成和运行环境的不同Java源程序分为两类即________程序和________程序
开发与运行javaapplication程序需要经过的三个主要步骤为编辑源程序编译生成字节码【7】
Java程序从编译到执行的整个过程为______
Java源程序一编译成机器码一运行
Java源程序一编译成字节码一解释执行
Java源程序一直接解释执行
Java源程序一优化一运行
在J2SEv1.4运行环境中编译Java源程序的命令是【2】
请完善程序程序文件名Java_3.java并进行调试请在下画线处填入正确内容然后删除下画线请勿删除注
请完善程序程序文件名Java_1.java并进行调试请在下画线处填入正确内容然后删除下画线请勿
根据程序的构成和运行环境的不同Java源程序分为两类即【14】程序和JavaApplet程序
在QESAT/C中下列属于动态测试过程步骤的是______
设定待测试的配置、编译相关的源程序
设定需插装的函数
运行源程序、合并动态运行的结果
以上全部
现在有JavaApplet小程序的源程序文件MyApplet.java编译后生成的字节码文件为MyA
使用白盒测试方法时确定测试数据应该根据______和指定的覆盖标准一般来说与设计测试数据无关的文档是
需求规格说明书
设计说明书
源程序
项目计划书
热门试题
更多
【函数1.2说明】函数mergeinta[]intnintb[]intmint *c是将两个从小到大有序数组a和b复制合并出一个有序整数序列c其中形参n和m分别是数组a和b的元素个数 【函数1.2】voidmergeinta[]intnintb[]int mint*c{intijfori=j0i<n &&j<m*c++=a[i]<b[j] a[i++]b[j++]whilei<n2 whilej<m3}
阅读以下程序说明和C程序将应填入n处的字句写在对应栏内 【程序说明】 某网络由n个端点组成这些端点被物理地分成若干个分离的端点组同一组内的两件端点i和j它们或直接相连或间接相连端点i和端点j间接相连是指在这两件端点之间有一个端点相连序列其中端点i和j分别与这相连序列中的某个端点直接相连网络的n个端点被统一编号为01n-1本程序输入所有直接相连的端点号对分别求出系统各分离端点组中的端点号并输出 程序根据输入的直接相连的两件端点号建立n个链表其中第i个链表的首指针为s[i]其结点是与端点i直接相连的所有端点号 程序依次处理各链表在处理s[i]链表中用top工作链表重新构造s[i]链表使s[i]链表对应系统中的一个端点组其中结点按端点号从小到大连接 【程序】#inelude#defineN100 typeefstructnode{intdata structnode*link}NODE NODE*s[N]intijntNODE *q*p*x*y*topmain{ printfEnternamberofcomponents. scanf%d&nfori=0i<ni++ printfEnterpairs./n whilescanf%d%d&i&j==2{ /*输入相连端点对生成相连端点结点链表*/ p=NODE*mallocsizeofNODE p→data=jp→link=s[i]s[i]=p p=NODE*mallocsizeofNODE p→data=ip→link=s[j]s[j]=p} fori=0i<ni++/*顺序处理各链表*/ fortop=s[i]1top!=NULL {/*将第i链表移入top工作链表并顺序处理工作链表的各结点*/ q=top 2 ifs¨[j=q→data]!=NULL{ /将j链表也移入工作链表*/ forp=s[j]p→link!=NULLp=p→link p→link=toptop=s[j] 3 } /*在重新生成的第i链表中寻找当前结点的插入点*/ fory=s[i]4x=yy=y→link ify!=NULL&&y→data==q→data freeq/*因重新生成的第i链表已有当前结点当前结点删除*/ else{ 5 ify==s[i]s[i]=q elsex→link=q }} fori=0i<ni++ {/*输出结果*/ ifs[i]==NULLcontinue forp=s[i]p!=NULL{ printf/t%dp→data q=p→linkfreepp=q }printf/n }}
阅读以下说明和C代码将应填入n处的字句写在对应栏内 【说明】 在一图像处理系统中开发者定义了一个图像结构ImageCon其中定义了图像应该具有的属性当图像件的内容或状态发生变化时与之相关联的ImageView结构的值都需要发生改变一个ImageCon结构能够关联一组ImageView结构当ImageCon结构的内容或状态发生变化时所有与之相关联的ImageView结构都将被更新这种应用被称为观察者模式以下代码采用C语言实现能够正确编译通过 【C代码】#include<stdio.h>#define OBS_MAXNUM20/*一个ImageCon变量最多能够关联的ImageView变量的个数*/typedefvoid 1strucImageCon*structImageView* structImageView{funcupdate /*ImageView结构采用的更新函数*/ /*其他的结构字段省略*/} structImageCon{2 myObs[OBS_MAXNUM] /*存储所有与ImageCon相关联的ImageView结构指针*/intindex /*与ImageCon结构变量相关联的ImageView结构变量的个数*/}void attachstructImageCon*IMGstructImageView*ob{ /*关联Obersver结构ob与ImageCon结构IMG*/int loop=0 ifIMG→index>=OBS_MAXNUM||ob==NULLreturn forloop=0loop<IMG→indexloop++ ifIMG→myObs[loop]==obreturn IMG→myObs[IMG→index]=ob IMG→index++}voiddetachstructImageCon *IMGstructImageView*ob{ /*解除IMG结构与ob结构间的关系*/intloop ifob==NULLreturn forloop=0loop<IMG→indexloop++{ ifIMG→myObs[loop]==ob{ ifloop<=IMG→index-2 IMG→myObs[loop]=IMG→myObs[3] IMG→myObs[IMG→index-1]=NULL IMG→index-- breack }} }voidupdatelstructImageCon*IMGstructImageView *ob{/*更新ob结构的值更新代码省略*/}void update2structImageCon*IMGstructImageView*ob{ /*更新ob结构的值更新代码省略*/}void notifyObsstructImageCon*IMG{ /*当IMG结构的值发生变化时通知与之关联的所有ImageView结构变量*/int loopforloop=0loop<IMG→indexloop++{ IMG→myObs[loop]→update4 }} voidmain{structImageCon IMG/*定义一ImageCon变量*/structImageView explorer1explorer2/*定义两个ImageView变量*/ /*初始化与ImageCon变量相关的ImageView变量个数为0*/ IMG.index=0 explorer1.update=updatel/*设置explorerl变量的更新函数*/ explorer2.update=update2/*设置explorer2变量的更新函数*/ attach&IMG&explorer1/*关联explorer1与IMG对象*/ attach&IMG&explorer1/*关联explorer1与IMG对象*/ /*其他代码省略*/5 return}
阅读下列程序说明和C代码把应填入其中n处的字句写在答卷的对应栏内 1说明】函数create能够建立具有任意行和任意列的动态二维整数数组 【函数4.1程序】#includestdio.hint* *createintrowintcol{ int**xix=int **1for 2x[i]=int*malloccol* sizeofint3 }【函数4.2说明】 函数main能够判断输入年是否为闰年【函数4.2程序】 main{intyearnscanfinputyear %d&yearn=4||5 ifn==1printf%disaleap year/nyearelseprintf%disnotaleap year/nyear}
【函数1.1说明】 函数strcpychar*destinationchar*source将字符串source复制到字符串destination 【函数1.1】 voidstrcpychar*destinationchar*source {while1}
阅读以下程序说明和C程序将应填入n处的字句写在对应栏内 【程序说明】 某网络由n个端点组成这些端点被物理地分成若干个分离的端点组同一组内的两件端点i和j它们或直接相连或间接相连端点i和端点j间接相连是指在这两件端点之间有一个端点相连序列其中端点i和j分别与这相连序列中的某个端点直接相连网络的n个端点被统一编号为01n-1本程序输入所有直接相连的端点号对分别求出系统各分离端点组中的端点号并输出 程序根据输入的直接相连的两件端点号建立n个链表其中第i个链表的首指针为s[i]其结点是与端点i直接相连的所有端点号 程序依次处理各链表在处理s[i]链表中用top工作链表重新构造s[i]链表使s[i]链表对应系统中的一个端点组其中结点按端点号从小到大连接 【程序】#inelude#defineN100 typeefstructnode{intdata structnode*link}NODE NODE*s[N]intijntNODE *q*p*x*y*topmain{ printfEnternamberofcomponents. scanf%d&nfori=0i<ni++ printfEnterpairs./n whilescanf%d%d&i&j==2{ /*输入相连端点对生成相连端点结点链表*/ p=NODE*mallocsizeofNODE p→data=jp→link=s[i]s[i]=p p=NODE*mallocsizeofNODE p→data=ip→link=s[j]s[j]=p} fori=0i<ni++/*顺序处理各链表*/ fortop=s[i]1top!=NULL {/*将第i链表移入top工作链表并顺序处理工作链表的各结点*/ q=top 2 ifs¨[j=q→data]!=NULL{ /将j链表也移入工作链表*/ forp=s[j]p→link!=NULLp=p→link p→link=toptop=s[j] 3 } /*在重新生成的第i链表中寻找当前结点的插入点*/ fory=s[i]4x=yy=y→link ify!=NULL&&y→data==q→data freeq/*因重新生成的第i链表已有当前结点当前结点删除*/ else{ 5 ify==s[i]s[i]=q elsex→link=q }} fori=0i<ni++ {/*输出结果*/ ifs[i]==NULLcontinue forp=s[i]p!=NULL{ printf/t%dp→data q=p→linkfreepp=q }printf/n }}
阅读以下应用说明及VisualBasic程序代码将应填入n处的字句写在对应栏内 【应用说明9】本应用程序的运行窗口如图4.2所示 窗口中的3个文本框和两个按钮名称分别为Txt-salaryTxt_baseTxt_taxCmd_compute和 Cmd_quit运行时文本框Txt_base中存放的是免税金额基数应扣除的基本费用当用户在文本框Txt_salary中输入月收入工资或薪金并单击计算按钮Cmd_compute后Txt_tax框中就显示计算所得的应纳税额文本框Txt_base和Txt_tax在运行时不接受用户输入Txt_base的内容以灰色显示 个人工资或薪金所得税是按照超额累进的税率来征收的方法是以每月收入总额减去免税金额基数后的余额作为该月的月应纳税所得额再将应纳税所得额按相应级数采用相应的税率进行累进计算目前的免税金额基数为800元税率如表4.2所示 表4.2 级数 月应纳税所得额 适用税率/% 1 不超过500元的部分 5 2 501元~2000元的部分 10 3 2001元~5000元的部分 15 4 5001元~20000元的部分 20 5 20001元~40000元的部分 25 6 40001元~60000元的部分 30 7 60001元~80000元的部分 35 8 80001元~100000元的部分 40 9 超过100000元的部分 45设一个人的月应纳税所得额为K元用下面的公式计算其应缴纳的个人所得税额S元若0<K≤500则S=K×5%若500<K≤2000则S=500×5%+K-500×10%若2000<K≤5000则S=500×5%+1500×10%+K-2000×15%若5000<K≤20 000则S=500×5%+1500×10%+3000×15%+K-5900×20%例如某人某月工资总额为5200元减去800元后应纳税所得额为4400元其应缴纳的个人所得税额为500*5%+1500*10%+2400*15%=535元在开发过程中需要编写的程序代码如下【程序代码9】Option Base0PrivateSubCmd_compute_ClickDim payleveltaxPratepaylevel= Array050020005000200004000060000800001000001000001taxPrate= Array51015202530354045K= ValTxt_salary.Text-ValTxt_base.TextS=0If1 ThenForj=1To9If2 ThenS= S+paylevelj-paylevelj-1*taxPratej-1/100ElseS=S+K-paylevelj-1* 3ExitForEndIfNext jEntIfTxt_tax.Text=4End SubPrivateSubCmd_quit_ClickEndEndSubPrivateSub Form_LoadTxt_tax.Text=Txt_salary.Text= Txt_base.Text=800Txt_tax.Locked=TrueTxt_base.Enabled= 5EndSub
阅读下列程序说明和C代码把应填入其中n处的字句写在答卷的对应栏内 【说明】 程序利用选择排序算法对数组a中的N个整数按照从小到大的顺序排列并将排序结果显示出来【程序】 #defineN10main{ void1int ia[N]fori=0i<10i++/*输入*/ scanf%d&a[i]2 fori=0i<Ni++ /*输出*/printf%3da[i] }voidselectSonintx[]intn {intijkt forinti=03i++ {k=i forj=i+1j<nj++ if4k=j if5 {t=x[i]x[i]=x[k]x[k]=t}} }
阅读下列程序说明和C程序把应填入其中n处的字句写在对应栏内 【程序说明】 已知某二叉树的前序遍历和中序遍历序列可以得到该二叉树的结构本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树 构造二叉树的算法要点是由前序遍历序列该序列的第一个元素是根结点元素该元素将中序遍历序列分成左右两部分那些位于该元素之前的元素是它的左子树上的元素位于该元素之后的元素是它的右子树上的元素对于左右子树由它们的前序遍历序列的第一个元素可确定左右子树的根结点参照中序遍历序列又可进一步确定子树的左右子树元素如此递归地参照两个遍历序列最终构造出二叉树 两个遍历序列作为主函数main的参数为简单起见程序假定两个遍历序列是相容的主函数调用函数restore建立二叉树函数restore以树子树的前序遍历和中序遍历两序列及序列长为参数采用递归方法建立树子树函数postorder实现二叉树的后序遍历序列输出用来验证函数restore建立的二叉树 【程序】#includestdio.h> #include<stdlib.h>#defineMAX100typedef structnode{chardata struetnode*llink*rlink}TNODE charpred[MAX]inod[MAX]TNODE*restore Char*char*intmainintargcChar**argv {TNODE*root ifargc<3exit0 strcpypredargv[1] strcpyinodargv[2] root=restorepredinodstrlenpredpostorderroot printf/n/n}TNODE* restoreChar*pposchar*iposintn{ /*参数包括前序遍历序列数组和中序遍历数组*/TNODE* ptrChar*rpos intkifn<=0returnNULL ptr=TNODE*mallocsizeofTNODE ptr→data=1 for2rpos=iposrpos<ipos+nrpos++ if*rpos==*pposbreak k=3 ptr→llink=restoreppos+14k ptr→rlink=restore5+krpos+ 1n-1-kreturnptr }postorderTNODE*ptr{ ifptr==NULLreturn postorderptr→llink postorderptr→rlink prinft%cptr→data}
阅读以下说明和C程序将应填入n处的字句写在对应栏内 【说明】 并行计算中需要将N个作业分配给N个处理器同时去完成每个处理器都能承担这N个作业但耗时不同下面的程序用回溯法计算总耗时最小的一种作业分配方案在该方案中为每个处理器分配1个不同的作业 程序中N个作业从0开始依次编号N个处理器也从0开始依次编号主要的变量说明如下 c[i][j]将作业i分配给处理器j的耗时 job[i]值为0表示作业i未分配值为j表示作业i分配给处理器j processor[k]值为0表示处理器k未分配作业值为1表示处理器k已分配作业 mincost最小总耗时【C程序】 #include<stdio.h>#defineN8/*N表示作业数和处理器数*/ intc[N][N]unsignedint mincost=65535/*设置min的初始值大于可能的总耗时*/int job[N]temp[N]processor[N]voidAssignintkunsignedint cost{inti if1&&cost<mincost{ mincost=cost fori=0i<Ni++temp[i]=job[i] }else{ fori=0i<Ni++/*分配作业k*/ if2&& cost+c[k][i]<mincost{ processor[i]=1job[k]=3 Assign4cost+c[k][i] 5job[k]=0 }/*if*/ }}/*Assign*/ voidmain{int ij fori=0i<Ni++{/*设置每个作业由不同处理器承担时耗时及全局数组的初值*/ processor[i]=0job[i]=0temp[i]=0 forj=0j<Nj++ scanf%d&c[i][j]} Assign00/*从作业0开始分配*/ printf/n最小耗时=%d/nmincost fori=0i<Ni++printfJob%disassigned toProcessor%d/nitemp[i]}/*main*/
阅读下列程序说明和C代码把应填入其中n处的字句写在答卷的对应栏内 1说明】函数create能够建立具有任意行和任意列的动态二维整数数组 【函数4.1程序】#includestdio.hint* *createintrowintcol{ int**xix=int **1for 2x[i]=int*malloccol* sizeofint3 }【函数4.2说明】 函数main能够判断输入年是否为闰年【函数4.2程序】 main{intyearnscanfinputyear %d&yearn=4||5 ifn==1printf%disaleap year/nyearelseprintf%disnotaleap year/nyear}
阅读下列程序说明和C代码把应填入其中n处的字句写在对应栏内 【说明】 下面的程序能够计算不同图形的面积程序中把每个图形的数据定义成结构类型利用共同体类型描述2种图形的数据程序根据输入参数代表的图形类型求出图形的面积并输出 【程序】structCircle{ floatxy/*圆心位置*/ floatr/*圆半径*/}struct Rectangle{floatwidth /*矩形宽*/floatlength /*矩形长*/}unionshape {structCirclecircle/*圆数据结构*/ structRectanglerectangle/*矩形数据结构*/ }main{ unionshapeafloatarea intiprintfinputnumber 1circle2rectangle3end/n scanf%d&iwhile1 /*循环接收输入并计算输出*/ {switchi {case 1printfinputradius/n scanf%f2/*共同体类型变量接收输入*/ area=3.1415926*3 printftheareaofcircle=%f/narea break case2printfinputwidthandlength:/n seanf%f%f4 /*共同体类型变量接收输入*/ area=5 printftheareaofrectangle=%f/narea break }printfinput number1circle2rectangle3end/n scanf%d&i} }
阅读下列程序说明和C程序把应填入其中n处的字句写在对应栏内 【程序说明】 已知某二叉树的前序遍历和中序遍历序列可以得到该二叉树的结构本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树 构造二叉树的算法要点是由前序遍历序列该序列的第一个元素是根结点元素该元素将中序遍历序列分成左右两部分那些位于该元素之前的元素是它的左子树上的元素位于该元素之后的元素是它的右子树上的元素对于左右子树由它们的前序遍历序列的第一个元素可确定左右子树的根结点参照中序遍历序列又可进一步确定子树的左右子树元素如此递归地参照两个遍历序列最终构造出二叉树 两个遍历序列作为主函数main的参数为简单起见程序假定两个遍历序列是相容的主函数调用函数restore建立二叉树函数restore以树子树的前序遍历和中序遍历两序列及序列长为参数采用递归方法建立树子树函数postorder实现二叉树的后序遍历序列输出用来验证函数restore建立的二叉树 【程序】#includestdio.h> #include<stdlib.h>#defineMAX100typedef structnode{chardata struetnode*llink*rlink}TNODE charpred[MAX]inod[MAX]TNODE*restore Char*char*intmainintargcChar**argv {TNODE*root ifargc<3exit0 strcpypredargv[1] strcpyinodargv[2] root=restorepredinodstrlenpredpostorderroot printf/n/n}TNODE* restoreChar*pposchar*iposintn{ /*参数包括前序遍历序列数组和中序遍历数组*/TNODE* ptrChar*rpos intkifn<=0returnNULL ptr=TNODE*mallocsizeofTNODE ptr→data=1 for2rpos=iposrpos<ipos+nrpos++ if*rpos==*pposbreak k=3 ptr→llink=restoreppos+14k ptr→rlink=restore5+krpos+ 1n-1-kreturnptr }postorderTNODE*ptr{ ifptr==NULLreturn postorderptr→llink postorderptr→rlink prinft%cptr→data}
阅读以下说明和C代码将应填入n处的字句写在对应栏内 【说明】 在一图像处理系统中开发者定义了一个图像结构ImageCon其中定义了图像应该具有的属性当图像件的内容或状态发生变化时与之相关联的ImageView结构的值都需要发生改变一个ImageCon结构能够关联一组ImageView结构当ImageCon结构的内容或状态发生变化时所有与之相关联的ImageView结构都将被更新这种应用被称为观察者模式以下代码采用C语言实现能够正确编译通过 【C代码】#include<stdio.h>#define OBS_MAXNUM20/*一个ImageCon变量最多能够关联的ImageView变量的个数*/typedefvoid 1strucImageCon*structImageView* structImageView{funcupdate /*ImageView结构采用的更新函数*/ /*其他的结构字段省略*/} structImageCon{2 myObs[OBS_MAXNUM] /*存储所有与ImageCon相关联的ImageView结构指针*/intindex /*与ImageCon结构变量相关联的ImageView结构变量的个数*/}void attachstructImageCon*IMGstructImageView*ob{ /*关联Obersver结构ob与ImageCon结构IMG*/int loop=0 ifIMG→index>=OBS_MAXNUM||ob==NULLreturn forloop=0loop<IMG→indexloop++ ifIMG→myObs[loop]==obreturn IMG→myObs[IMG→index]=ob IMG→index++}voiddetachstructImageCon *IMGstructImageView*ob{ /*解除IMG结构与ob结构间的关系*/intloop ifob==NULLreturn forloop=0loop<IMG→indexloop++{ ifIMG→myObs[loop]==ob{ ifloop<=IMG→index-2 IMG→myObs[loop]=IMG→myObs[3] IMG→myObs[IMG→index-1]=NULL IMG→index-- breack }} }voidupdatelstructImageCon*IMGstructImageView *ob{/*更新ob结构的值更新代码省略*/}void update2structImageCon*IMGstructImageView*ob{ /*更新ob结构的值更新代码省略*/}void notifyObsstructImageCon*IMG{ /*当IMG结构的值发生变化时通知与之关联的所有ImageView结构变量*/int loopforloop=0loop<IMG→indexloop++{ IMG→myObs[loop]→update4 }} voidmain{structImageCon IMG/*定义一ImageCon变量*/structImageView explorer1explorer2/*定义两个ImageView变量*/ /*初始化与ImageCon变量相关的ImageView变量个数为0*/ IMG.index=0 explorer1.update=updatel/*设置explorerl变量的更新函数*/ explorer2.update=update2/*设置explorer2变量的更新函数*/ attach&IMG&explorer1/*关联explorer1与IMG对象*/ attach&IMG&explorer1/*关联explorer1与IMG对象*/ /*其他代码省略*/5 return}
【函数1.2说明】函数mergeinta[]intnintb[]intmint *c是将两个从小到大有序数组a和b复制合并出一个有序整数序列c其中形参n和m分别是数组a和b的元素个数 【函数1.2】voidmergeinta[]intnintb[]int mint*c{intijfori=j0i<n &&j<m*c++=a[i]<b[j] a[i++]b[j++]whilei<n2 whilej<m3}
阅读以下说明和C程序将应填入n处的字句写在对应栏内 【说明】 并行计算中需要将N个作业分配给N个处理器同时去完成每个处理器都能承担这N个作业但耗时不同下面的程序用回溯法计算总耗时最小的一种作业分配方案在该方案中为每个处理器分配1个不同的作业 程序中N个作业从0开始依次编号N个处理器也从0开始依次编号主要的变量说明如下 c[i][j]将作业i分配给处理器j的耗时 job[i]值为0表示作业i未分配值为j表示作业i分配给处理器j processor[k]值为0表示处理器k未分配作业值为1表示处理器k已分配作业 mincost最小总耗时【C程序】 #include<stdio.h>#defineN8/*N表示作业数和处理器数*/ intc[N][N]unsignedint mincost=65535/*设置min的初始值大于可能的总耗时*/int job[N]temp[N]processor[N]voidAssignintkunsignedint cost{inti if1&&cost<mincost{ mincost=cost fori=0i<Ni++temp[i]=job[i] }else{ fori=0i<Ni++/*分配作业k*/ if2&& cost+c[k][i]<mincost{ processor[i]=1job[k]=3 Assign4cost+c[k][i] 5job[k]=0 }/*if*/ }}/*Assign*/ voidmain{int ij fori=0i<Ni++{/*设置每个作业由不同处理器承担时耗时及全局数组的初值*/ processor[i]=0job[i]=0temp[i]=0 forj=0j<Nj++ scanf%d&c[i][j]} Assign00/*从作业0开始分配*/ printf/n最小耗时=%d/nmincost fori=0i<Ni++printfJob%disassigned toProcessor%d/nitemp[i]}/*main*/
阅读下列函数说明和C代码把应填入其中n处的字句写在答卷的对应栏内 【函数2说明】 本题中的函数encode和decode分别实现对字符串的变换和复原变换函数encode顺序考察已知字符串的字符按以下规则逐组生成新字符串 1.若已知字符串的当前字符不是数字字符则复制该字符于新字符串中 2.若已知字符串的当前字符是一个数字字符且它之后没有后继字符则简单地将它自己复制到新字符串中 3.若已知字符串的当前字符是一个数字字符并且还有后继字符设该数字字符的面值为n则将它的后续字符包括后续字符是一个数字字符重复复制n+1次到新字符串中 4.以上述一次变换为一组在不同组之间另插入一个下划线字符-用于分隔例如encode函数对字符串26a3t2的变换结果为666_a_tttt_2 复原函数decode做变换函数encode的相反的工作即复制不连续相同的单个字符而将一组连续相同的字符不超过10个变换成一个用于表示重复次数的数字字符和一个重复出现的字符并在复原过程中掠过变换函数为不同组之间添加的一个下划线字符 假定调用变换函数encode时的已知字符串中不包含下划线字符【函数2】 intencodechar*instrchar*outstr{ char*ip*opcintknip=instrop=outstr while*ip{if1 &&*ip+1{n=*ip-’0’+1 c=*++ipfork=0k<=nk++2 }else3 *op++=’-’ip++} ifop>outstr4*op=’/0’ returnop-outstr}intdecodechar* instrchar*outstr{char*ip*opcintn ip=instrop=outstrwhile*ip{c= *ipn=0while*ip==c&&n<=10{ip++n++} if5*op++=’0’+n-1*op++=c if*ip==’_’6}* op=’/0’returnop-outstr}
阅读下列函数说明和C代码把应填入其中n处的字句写在答卷的对应栏内 【函数2说明】 本题中的函数encode和decode分别实现对字符串的变换和复原变换函数encode顺序考察已知字符串的字符按以下规则逐组生成新字符串 1.若已知字符串的当前字符不是数字字符则复制该字符于新字符串中 2.若已知字符串的当前字符是一个数字字符且它之后没有后继字符则简单地将它自己复制到新字符串中 3.若已知字符串的当前字符是一个数字字符并且还有后继字符设该数字字符的面值为n则将它的后续字符包括后续字符是一个数字字符重复复制n+1次到新字符串中 4.以上述一次变换为一组在不同组之间另插入一个下划线字符-用于分隔例如encode函数对字符串26a3t2的变换结果为666_a_tttt_2 复原函数decode做变换函数encode的相反的工作即复制不连续相同的单个字符而将一组连续相同的字符不超过10个变换成一个用于表示重复次数的数字字符和一个重复出现的字符并在复原过程中掠过变换函数为不同组之间添加的一个下划线字符 假定调用变换函数encode时的已知字符串中不包含下划线字符【函数2】 intencodechar*instrchar*outstr{ char*ip*opcintknip=instrop=outstr while*ip{if1 &&*ip+1{n=*ip-’0’+1 c=*++ipfork=0k<=nk++2 }else3 *op++=’-’ip++} ifop>outstr4*op=’/0’ returnop-outstr}intdecodechar* instrchar*outstr{char*ip*opcintn ip=instrop=outstrwhile*ip{c= *ipn=0while*ip==c&&n<=10{ip++n++} if5*op++=’0’+n-1*op++=c if*ip==’_’6}* op=’/0’returnop-outstr}
阅读下列程序说明和C代码把应填入其中n处的字句写在答卷的对应栏内 1说明】函数create能够建立具有任意行和任意列的动态二维整数数组 【函数4.1程序】#includestdio.hint* *createintrowintcol{ int**xix=int **1for 2x[i]=int*malloccol* sizeofint3 }【函数4.2说明】 函数main能够判断输入年是否为闰年【函数4.2程序】 main{intyearnscanfinputyear %d&yearn=4||5 ifn==1printf%disaleap year/nyearelseprintf%disnotaleap year/nyear}
阅读以下应用说明及VisualBasic程序代码将应填入n处的字句写在对应栏内 【应用说明9】本应用程序的运行窗口如图4.2所示 窗口中的3个文本框和两个按钮名称分别为Txt-salaryTxt_baseTxt_taxCmd_compute和 Cmd_quit运行时文本框Txt_base中存放的是免税金额基数应扣除的基本费用当用户在文本框Txt_salary中输入月收入工资或薪金并单击计算按钮Cmd_compute后Txt_tax框中就显示计算所得的应纳税额文本框Txt_base和Txt_tax在运行时不接受用户输入Txt_base的内容以灰色显示 个人工资或薪金所得税是按照超额累进的税率来征收的方法是以每月收入总额减去免税金额基数后的余额作为该月的月应纳税所得额再将应纳税所得额按相应级数采用相应的税率进行累进计算目前的免税金额基数为800元税率如表4.2所示 表4.2 级数 月应纳税所得额 适用税率/% 1 不超过500元的部分 5 2 501元~2000元的部分 10 3 2001元~5000元的部分 15 4 5001元~20000元的部分 20 5 20001元~40000元的部分 25 6 40001元~60000元的部分 30 7 60001元~80000元的部分 35 8 80001元~100000元的部分 40 9 超过100000元的部分 45设一个人的月应纳税所得额为K元用下面的公式计算其应缴纳的个人所得税额S元若0<K≤500则S=K×5%若500<K≤2000则S=500×5%+K-500×10%若2000<K≤5000则S=500×5%+1500×10%+K-2000×15%若5000<K≤20 000则S=500×5%+1500×10%+3000×15%+K-5900×20%例如某人某月工资总额为5200元减去800元后应纳税所得额为4400元其应缴纳的个人所得税额为500*5%+1500*10%+2400*15%=535元在开发过程中需要编写的程序代码如下【程序代码9】Option Base0PrivateSubCmd_compute_ClickDim payleveltaxPratepaylevel= Array050020005000200004000060000800001000001000001taxPrate= Array51015202530354045K= ValTxt_salary.Text-ValTxt_base.TextS=0If1 ThenForj=1To9If2 ThenS= S+paylevelj-paylevelj-1*taxPratej-1/100ElseS=S+K-paylevelj-1* 3ExitForEndIfNext jEntIfTxt_tax.Text=4End SubPrivateSubCmd_quit_ClickEndEndSubPrivateSub Form_LoadTxt_tax.Text=Txt_salary.Text= Txt_base.Text=800Txt_tax.Locked=TrueTxt_base.Enabled= 5EndSub
阅读下列程序说明和C程序把应填入其中n处的字句写在对应栏内 【程序说明】 已知某二叉树的前序遍历和中序遍历序列可以得到该二叉树的结构本程序实现了根据这两个遍历序列生成一棵链接表示的二叉树 构造二叉树的算法要点是由前序遍历序列该序列的第一个元素是根结点元素该元素将中序遍历序列分成左右两部分那些位于该元素之前的元素是它的左子树上的元素位于该元素之后的元素是它的右子树上的元素对于左右子树由它们的前序遍历序列的第一个元素可确定左右子树的根结点参照中序遍历序列又可进一步确定子树的左右子树元素如此递归地参照两个遍历序列最终构造出二叉树 两个遍历序列作为主函数main的参数为简单起见程序假定两个遍历序列是相容的主函数调用函数restore建立二叉树函数restore以树子树的前序遍历和中序遍历两序列及序列长为参数采用递归方法建立树子树函数postorder实现二叉树的后序遍历序列输出用来验证函数restore建立的二叉树 【程序】#includestdio.h> #include<stdlib.h>#defineMAX100typedef structnode{chardata struetnode*llink*rlink}TNODE charpred[MAX]inod[MAX]TNODE*restore Char*char*intmainintargcChar**argv {TNODE*root ifargc<3exit0 strcpypredargv[1] strcpyinodargv[2] root=restorepredinodstrlenpredpostorderroot printf/n/n}TNODE* restoreChar*pposchar*iposintn{ /*参数包括前序遍历序列数组和中序遍历数组*/TNODE* ptrChar*rpos intkifn<=0returnNULL ptr=TNODE*mallocsizeofTNODE ptr→data=1 for2rpos=iposrpos<ipos+nrpos++ if*rpos==*pposbreak k=3 ptr→llink=restoreppos+14k ptr→rlink=restore5+krpos+ 1n-1-kreturnptr }postorderTNODE*ptr{ ifptr==NULLreturn postorderptr→llink postorderptr→rlink prinft%cptr→data}
阅读下列程序说明和C代码把应填入其中n处的字句写在对应栏内 【说明】 下面的程序能够计算不同图形的面积程序中把每个图形的数据定义成结构类型利用共同体类型描述2种图形的数据程序根据输入参数代表的图形类型求出图形的面积并输出 【程序】structCircle{ floatxy/*圆心位置*/ floatr/*圆半径*/}struct Rectangle{floatwidth /*矩形宽*/floatlength /*矩形长*/}unionshape {structCirclecircle/*圆数据结构*/ structRectanglerectangle/*矩形数据结构*/ }main{ unionshapeafloatarea intiprintfinputnumber 1circle2rectangle3end/n scanf%d&iwhile1 /*循环接收输入并计算输出*/ {switchi {case 1printfinputradius/n scanf%f2/*共同体类型变量接收输入*/ area=3.1415926*3 printftheareaofcircle=%f/narea break case2printfinputwidthandlength:/n seanf%f%f4 /*共同体类型变量接收输入*/ area=5 printftheareaofrectangle=%f/narea break }printfinput number1circle2rectangle3end/n scanf%d&i} }
阅读下列函数说明和C代码把应填入其中n处的字句写在答卷的对应栏内 【函数2说明】 本题中的函数encode和decode分别实现对字符串的变换和复原变换函数encode顺序考察已知字符串的字符按以下规则逐组生成新字符串 1.若已知字符串的当前字符不是数字字符则复制该字符于新字符串中 2.若已知字符串的当前字符是一个数字字符且它之后没有后继字符则简单地将它自己复制到新字符串中 3.若已知字符串的当前字符是一个数字字符并且还有后继字符设该数字字符的面值为n则将它的后续字符包括后续字符是一个数字字符重复复制n+1次到新字符串中 4.以上述一次变换为一组在不同组之间另插入一个下划线字符-用于分隔例如encode函数对字符串26a3t2的变换结果为666_a_tttt_2 复原函数decode做变换函数encode的相反的工作即复制不连续相同的单个字符而将一组连续相同的字符不超过10个变换成一个用于表示重复次数的数字字符和一个重复出现的字符并在复原过程中掠过变换函数为不同组之间添加的一个下划线字符 假定调用变换函数encode时的已知字符串中不包含下划线字符【函数2】 intencodechar*instrchar*outstr{ char*ip*opcintknip=instrop=outstr while*ip{if1 &&*ip+1{n=*ip-’0’+1 c=*++ipfork=0k<=nk++2 }else3 *op++=’-’ip++} ifop>outstr4*op=’/0’ returnop-outstr}intdecodechar* instrchar*outstr{char*ip*opcintn ip=instrop=outstrwhile*ip{c= *ipn=0while*ip==c&&n<=10{ip++n++} if5*op++=’0’+n-1*op++=c if*ip==’_’6}* op=’/0’returnop-outstr}
阅读下列程序说明和C程序把应填入其中n处的字句写在对应栏内 【程序说明】 对角线下元素全为0的矩阵称为上三角矩阵设对于一个n×n的上三角矩阵a为节约存贮只将它的上三角元素按行主序连续存放在数组b中下面的函数trans在不引入工作数组的情况下实现将a改为按列主序连续存放在数组b中 设n=5 b=123456789101112131415 经调用trans函数后b变为 b=126371048111359121415 函数tans对数组元素的存贮位置作调整调整过程中存在若干个循环传送链 bi1→bi2→bij→bi11≤j<n 例如考察调整后的数组元素b2值为6与该元素相关的位置调整将形成下面的循环传送链 b2→b3→b6→→b12→b9→b5→b2 关键是确定循环传送链的下标i1i2ij以及在考察调整后的元素bkk34时能判定bk是已被传送过的某传送链上的元素 函数ctrkn计算调整后的数组b的第k个元素bk在原数组b中的位置该位置作为函数ctrkn的返回值函数ctr根据k确定它在矩阵中的行号i和列号j注意行号和列号均从 0算起然后按矩阵存放原则计算出它在b中的位置【程序】 transbnintnb[]{ intmkrccrrintw m=n+1*n/2-4k=2 whilem>0{ r=ctrkn ifr==km-- else { cc=krr=rwhile 1 { cc=rrrr=ctrccn }if 2 { cc=krr=rw=b[k] while3 { b[cc]=b[rr]m-- cc=rrrr=ctfccn } b[cc]-w4 } }k++ }}ctrkn intkn{intij i=kj=0while5 i-=++j returni*n+j-i*i+1/2}
阅读下列程序说明和C程序把应填入其中n处的字句写在对应栏内 【程序说明】 对角线下元素全为0的矩阵称为上三角矩阵设对于一个n×n的上三角矩阵a为节约存贮只将它的上三角元素按行主序连续存放在数组b中下面的函数trans在不引入工作数组的情况下实现将a改为按列主序连续存放在数组b中 设n=5 b=123456789101112131415 经调用trans函数后b变为 b=126371048111359121415 函数tans对数组元素的存贮位置作调整调整过程中存在若干个循环传送链 bi1→bi2→bij→bi11≤j<n 例如考察调整后的数组元素b2值为6与该元素相关的位置调整将形成下面的循环传送链 b2→b3→b6→→b12→b9→b5→b2 关键是确定循环传送链的下标i1i2ij以及在考察调整后的元素bkk34时能判定bk是已被传送过的某传送链上的元素 函数ctrkn计算调整后的数组b的第k个元素bk在原数组b中的位置该位置作为函数ctrkn的返回值函数ctr根据k确定它在矩阵中的行号i和列号j注意行号和列号均从 0算起然后按矩阵存放原则计算出它在b中的位置【程序】 transbnintnb[]{ intmkrccrrintw m=n+1*n/2-4k=2 whilem>0{ r=ctrkn ifr==km-- else { cc=krr=rwhile 1 { cc=rrrr=ctrccn }if 2 { cc=krr=rw=b[k] while3 { b[cc]=b[rr]m-- cc=rrrr=ctfccn } b[cc]-w4 } }k++ }}ctrkn intkn{intij i=kj=0while5 i-=++j returni*n+j-i*i+1/2}
阅读以下应用说明属性设置及VisualBssic程序代码将应填入n处在字句写在对应栏内 【应用说明7】 本应用程序的运行窗口显示一行字欢迎光临还有2个按钮一个显示闪烁一个显示停止只要用户单击闪烁按钮文字欢迎光临就会以0.5秒消失0.5秒显示反复进行闪烁单击停止按钮时闪烁停止恢复图示的初态在开发过程中需要设置的属性如表4.1所示 表4.1属性设置 对象 对象名 属性名 属性值 窗体 Frml Caption 闪烁显示演示 标签 Label Caption 欢迎光临 命令按钮 CmdF Caption 闪烁 命令按钮 CmdT Caption 停止 定时器 Timerl 1 false Interval 2 在开发过程中需要编写的程序代码如下【程序代码7】PtivateSubCmdF_ClickTimerlEnabled =3LabelVisible= FalseEndSubPtivateSubTimet1_TimerLabelVisible=not 4EndSubPtivateSubCmdT_ClickTimerlEnsbled =5LabelVisible=trueEndSub
阅读下列程序说明和C程序把应填入其中n处的字句写在对应栏内 【程序说明】 对角线下元素全为0的矩阵称为上三角矩阵设对于一个n×n的上三角矩阵a为节约存贮只将它的上三角元素按行主序连续存放在数组b中下面的函数trans在不引入工作数组的情况下实现将a改为按列主序连续存放在数组b中 设n=5 b=123456789101112131415 经调用trans函数后b变为 b=126371048111359121415 函数tans对数组元素的存贮位置作调整调整过程中存在若干个循环传送链 bi1→bi2→bij→bi11≤j<n 例如考察调整后的数组元素b2值为6与该元素相关的位置调整将形成下面的循环传送链 b2→b3→b6→→b12→b9→b5→b2 关键是确定循环传送链的下标i1i2ij以及在考察调整后的元素bkk34时能判定bk是已被传送过的某传送链上的元素 函数ctrkn计算调整后的数组b的第k个元素bk在原数组b中的位置该位置作为函数ctrkn的返回值函数ctr根据k确定它在矩阵中的行号i和列号j注意行号和列号均从 0算起然后按矩阵存放原则计算出它在b中的位置【程序】 transbnintnb[]{ intmkrccrrintw m=n+1*n/2-4k=2 whilem>0{ r=ctrkn ifr==km-- else { cc=krr=rwhile 1 { cc=rrrr=ctrccn }if 2 { cc=krr=rw=b[k] while3 { b[cc]=b[rr]m-- cc=rrrr=ctfccn } b[cc]-w4 } }k++ }}ctrkn intkn{intij i=kj=0while5 i-=++j returni*n+j-i*i+1/2}
阅读以下说明和C程序将应填入n处的字句写在对应栏内 【说明】 并行计算中需要将N个作业分配给N个处理器同时去完成每个处理器都能承担这N个作业但耗时不同下面的程序用回溯法计算总耗时最小的一种作业分配方案在该方案中为每个处理器分配1个不同的作业 程序中N个作业从0开始依次编号N个处理器也从0开始依次编号主要的变量说明如下 c[i][j]将作业i分配给处理器j的耗时 job[i]值为0表示作业i未分配值为j表示作业i分配给处理器j processor[k]值为0表示处理器k未分配作业值为1表示处理器k已分配作业 mincost最小总耗时【C程序】 #include<stdio.h>#defineN8/*N表示作业数和处理器数*/ intc[N][N]unsignedint mincost=65535/*设置min的初始值大于可能的总耗时*/int job[N]temp[N]processor[N]voidAssignintkunsignedint cost{inti if1&&cost<mincost{ mincost=cost fori=0i<Ni++temp[i]=job[i] }else{ fori=0i<Ni++/*分配作业k*/ if2&& cost+c[k][i]<mincost{ processor[i]=1job[k]=3 Assign4cost+c[k][i] 5job[k]=0 }/*if*/ }}/*Assign*/ voidmain{int ij fori=0i<Ni++{/*设置每个作业由不同处理器承担时耗时及全局数组的初值*/ processor[i]=0job[i]=0temp[i]=0 forj=0j<Nj++ scanf%d&c[i][j]} Assign00/*从作业0开始分配*/ printf/n最小耗时=%d/nmincost fori=0i<Ni++printfJob%disassigned toProcessor%d/nitemp[i]}/*main*/
阅读以下应用说明属性设置及VisualBssic程序代码将应填入n处在字句写在对应栏内 【应用说明7】 本应用程序的运行窗口显示一行字欢迎光临还有2个按钮一个显示闪烁一个显示停止只要用户单击闪烁按钮文字欢迎光临就会以0.5秒消失0.5秒显示反复进行闪烁单击停止按钮时闪烁停止恢复图示的初态在开发过程中需要设置的属性如表4.1所示 表4.1属性设置 对象 对象名 属性名 属性值 窗体 Frml Caption 闪烁显示演示 标签 Label Caption 欢迎光临 命令按钮 CmdF Caption 闪烁 命令按钮 CmdT Caption 停止 定时器 Timerl 1 false Interval 2 在开发过程中需要编写的程序代码如下【程序代码7】PtivateSubCmdF_ClickTimerlEnabled =3LabelVisible= FalseEndSubPtivateSubTimet1_TimerLabelVisible=not 4EndSubPtivateSubCmdT_ClickTimerlEnsbled =5LabelVisible=trueEndSub
阅读下列程序说明和C代码把应填入其中n处的字句写在答卷的对应栏内 【说明】 程序利用选择排序算法对数组a中的N个整数按照从小到大的顺序排列并将排序结果显示出来【程序】 #defineN10main{ void1int ia[N]fori=0i<10i++/*输入*/ scanf%d&a[i]2 fori=0i<Ni++ /*输出*/printf%3da[i] }voidselectSonintx[]intn {intijkt forinti=03i++ {k=i forj=i+1j<nj++ if4k=j if5 {t=x[i]x[i]=x[k]x[k]=t}} }
热门题库
更多
中级网络工程师
中级信息系统管理工程师
初级程序员
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术