首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
阅读下列程序说明和C程序,把应填入其中(n)处的字句,写在对应栏内。 【程序说明】 对角线下元素全为0的矩阵称为上三角矩阵,设对于一个n×n的上三角矩阵a,为节约存贮,只将它的上三角元素按行...
查看本题答案
包含此试题的试卷
初级程序员《问答集》真题及答案
点击查看
你可能感兴趣的试题
阅读下列程序和控制流图将应填入n 的字句写在答题纸的对应栏内【程序】 下面是一段求最大值的程
阅读下列程序说明和C++程序把应填入其中n处的字句写在对应栏内 【说明】阅读下面几段C++程序回答
阅读以下说明和C++程序将应填入____处的字句写在答题纸的对应栏内 下面程序实现十进制向其他进制的
阅读下列程序说明和C代码把应填入其中n处的字句写在答卷的对应栏内 【说明】 程序利用选择排序算法
试题六阅读以下说明和Java代码将应填入n处的语句或语句成分写在答题纸的对应栏内【说明】某数据
阅读下列程序说明和C代码把应填入其中n处的字句写在答卷的对应栏内 1说明】函数create能够建立
阅读下列程序和控制流图将应填入n 的字句写在答题纸的对应栏内【程序】 下面是一段求最大值的程
试题六阅读以下说明和Java代码将应填入n处的语句或语句成分写在答题纸的对应栏内【说明】某数据
阅读以下函数说明和C语言函数将应填入n处的字句写在对应栏内 [说明1] 本程序输入一字符串并将其
试题七 阅读以下说明和C程序将应填入n处的字句写在答题纸的对应栏内 【说明】 现有nn<1000节
试题五和试题六任选一道 阅读下列说明和Java代码将应填入n处的字句写在答题纸的对应栏内
试题八15分每空3分 阅读以下说明和C++程序将应填入n处的字句写在答题纸的对应栏内 [说明]
阅读以下说明和Java程序将应填入____处的字句写在答题纸的对应栏内 下面程序实现十进制向其他进制
试题六15分每空3分 阅读以下说明Java代码和HTML文档将应填入n处的字句写在答题纸的对应栏内
阅读下列程序和控制流图将应填入n的字句写在答题纸的对应栏内【程序】下面是一段求最大值的程序其中dat
阅读下列程序和控制流图将应填入n 的字句写在答题纸的对应栏内【程序】 下面是一段求最大值的程
阅读下列程序和控制流图将应填入n 的字句写在答题纸的对应栏内【程序】 下面是一段求最大值的程
试题五和试题六任选一道阅读下列说明和C++代码将应填入n处的字句写在答题纸的对应栏内 【说
阅读下列程序说明和C++程序把应填入其中n处的字句写在对应栏内 【说明】阅读下面几段C++程序回答
阅读以下说明和Java程序将应填入n处的字句写在对应栏内 [说明] 下面程序实现十进制向其它进制
热门试题
更多
阅读以下说明和流程图回答问题将解答填入对应栏 [说明] 下面的流程图用来完成求字符串t在s中最右边出现的位置其思路是做一个循环以s的每一位作为字符串的开头和t比较如果两字符串的首字母是相同的则继续比下去如果一直到t的最后一个字符也相同则说明在s中找到了一个字符串t如果还没比较到t的最后一个字符就已经出现字符串不等的情况则放弃此次比较开始新一轮的比较当在s中找到一个字符串t时不应停止寻找因为要求的是求t在s中最右边出现位置应先记录这个位置pos然后开始新一轮的寻找若还存在相同的字符串则更新位置的记录直到循环结束输出最近一次保存的位置如果s为空或不包含t则返回-1 注返回值用pos表示 [问题] 将流程图的1~5处补充完整
阅读以下说明和Java代码将应填入n处的字句写在对应栏内 【说明】 Java语言允许用户在需要时创建自己的异常类型用于表达JDK中未涉及到的其他异常状况这些异常必须继承Throwable类或其子类用户自定义异常类通常属于Exception范畴依据命名惯例应以Exception结尾用户自定义异常未被加入JREJava运行时环境的控制逻辑中因此永远不会自动抛出只能由人工创建并抛出 【Java程序】classMyException1 Exception{privateStringid publicMyExceptionStringmessageStringid{ 2//调用父类的构造函数 this.id=id }PublicStringgetId{ returnid} }publicclassTest{public voidtestExceptionthrowsMyException{ throw3抛出自定义异常123 }publicvoidcatchException{ tly{ testException }4MyExceptione{ System.out.print捕获了如下异常 e.printStackTrace } }publicvoidstaticmainString args[]{Testt=new Test t.catchException} }程序输出如下补充完整捕获了如下异常5 atTest.testException...
阅读以下说明和Java代码将应填入n处的字句写在对应栏内 【说明】 下面的Java程序演示了如何在用户等待载入主程序时显示logo图片的例子logo图片mylogo.gif存放在文件夹image下面显示logo图片的是一个线程类logo 【Java程序】importjavax.swing.*import java.awt.*importjava.awt.event.*import javax.swing.ImageIcon.*importjava.lang.Runnable publicclassmainFrameextendsJFrame{ publicstaticvoidmainString[]args {Logolg=new Logoimage/mylogo.giflg. 1mainFrame main_framE=newmainFrame main_frame.setTitle使用logo图片示例程序 Thread.sleep1//程序暂时挂起 main_frame.setVisibletrue lg.2//使logo图片不可见 }}classLogoextendsJWindow implements3{ Stringfilename//Logo图像文件的文件名public LogoStringname{filename= name} publicvoidrun{ ImageIconig=newImageIconfilename JButtonbtn=newJButtonig//将图片给JButton显示 getContentPane.4 //将按钮加到JPanel里Toolkitkit= Toolkit.getDefauhToolkitDimensionscreenSize= kit.getScreenSize//获得屏幕的大小 setLocationscreenSize.width/4screenSize.height/4 //将Logo窗口显示在屏幕宽的1/4高的1/4处 setSizeig.getIconWidthig.getIconHeight //将Logo窗口大小设成图像的大小toFront //将Logo窗口显示为最前面的窗口setVisibletrue 5//显示该窗口 }publicvoidsetNOtVisible { setVisiblefalse}}
【说明】 喜迎2008年北京奥运会!以下【C程序】能将一个给定汉字例如奥运会的会字的点阵逆时针旋转90°并输出旋转前后的点阵数据及字形 图1-15是汉字会字的16×16点阵字形用数字0表示空白位置用数字1表示非空白位置会字的第1行即可表示成如下的{01}序列 0000000100000000 如果把它看做一个字的16个位会字的第1行可以用十六进制数0100来表示同理会字的第2行可以用十六进制数0240表示第3行可以用十六进制数0420表示依此类推用16个双字节整型数即可存放一个汉字点阵字形会字的点阵数据及字形如图1-15的左半部分所示 将一个汉字逆时针旋转90°就是把该汉字点阵的最右列作为旋转后新点阵的第1行次最右列作为旋转后新点阵的第2行依此类推来形成一个旋转后的点阵字形图1-15的右半部分就是将会字逆时针旋转90°后的点阵数据和字形提示读者可将书本顺时针旋转90°以查看旋转90°后的点阵字形 在【C程序】中数组old存放着会字的16个双字节整型点阵数据函数turnleft能将该点阵数据逆时针旋转90°旋转后的点阵数据存放在数组new中函数display能将旋转前后的点阵数据加以编辑用字符.表示值为0的位用字符x表示值为1的位从而将旋转前后的点阵按行输出其十六进制的数据和字形如图1-15所示 【C程序】 #include<stdio.h> #defineEMPTY’.’ #defineNONEMPTY’x’ #defineLEFT0 #defineRIGHT1 main {staticunsignedold[16]= {0x01000x02400x04200x08100x10040x23c2 0x40010x8ff80x01000x02000x04000x0800 0xl0000x20040x7ffe0x0001 }; unsignednew[16]; turnleftoldnew; displayoldnew; } turnleftoldnew unsignedold[]new[]; {introwk; forrow=0;row<16;row++ for1;k<16;k++ new[row]|=old[k]>>2&1<<3; } displayoldnew unsigned*old*new; {charout[2][17]letter[2]; introwcol; letter[O]=EMPTY; letter[1]=NONEMPTY; out[LEFT][16]=out[RIGHT][16]=4; forrow=0;row<16;row++old++new++ {forcol=0;co1<16;++col {out[LEFT][col]=letter[5&1]; out[RIGHT][col]=letter[6&1]; } printf/n%4x%s*old&out[LEFT][0]; printf%4x%s*new&out[RIGHT][0]; } }
阅读以下技术说明和问题模型图根据要求回答问题1和问题2 【说明】某大学城图书馆需要在无线阅览厅的某些位置上放置无线接入点APAccess Poin假设每个无线AP覆盖范围的半径是6米因此必须使得每台笔记本电脑上的无线网卡到某个无线AP的直线距离不超过6米为了简化问题假设所有无线网卡在同一直线上并且无线AP沿该直线放置该问题可以建模为如图1-16所示其中直线表示无线网卡所在的直线实心正方形表示无线网卡现利用贪心策略实现用尽可能少的无线AP覆盖所有的无线网卡 实现贪心算法的流程如图1-17所示其中①d[i]1≤i≤N表示第i张无线网卡到通道A端的距离N表示无线网卡的总数无线网卡的编号按照无线网卡到通道A端的距离从小到大进行编号②s[k]表示第kk≥1个无线AP到通道A端的距离算法结束后k的值为无线AP的总数 【问题2】该贪心算法的时间复杂度为 5
【说明】 以下【C++程序】用于实现两个多项式的乘积运算多项式的每一项由类Item描述而多项式由类List描述类List的成员函数主要有 createList创建按指数降序链接的多项式链表以表示多项式 reverseList将多项式链表的表元链接顺序颠倒 multiplyListListL1ListL2计算多项式L1和多项式L2的乘积多项式 【C++程序】 #include<iostream.h> classList; classItem{ friendclassList; private: doublequot; intexp; Item*next; Public: Itemdouble_quotint_exp {1;} }; classList{ private: Item*list; Public: List{ list=NULL: } voidreverseList; voidmultiplyListListL1ListL2; voidcreateList; }; voidList::createList {Item*p*U*pre; intexp; doublequot; list=NULL; while1{ cout<<输入多项式中的一项系数指数:<<endl; cin>>quot>>exp: ifexp<0 break;//指数小于零结束输入 ifquot=0 continue; p=list; while2{//查找插入点 pre=p; p=p->next; } ifp!=NULL&&exp=p->exp{ p->quot+=quot; continue; } u=3; ifp==list list=u; else pre->next=u; u->next=p; } } voidList::reverseList {Item*p*u; iflist==NULL return; p=list->next; list->next=NULL; whilep!=NULL{ u=p->next; p->next=list; list=p; p=u; } } voidList::multiplyListListL1ListL2 {Item*pL1*pL2*u; intkmaxExp; doublequot; maxExp=4: L2.reverseList; list=NULL; fork=maxExp;k>=0;k--{ pL1=L1.list; whilepL1!=NULL&&pL1->exp>k pL1=pL1->next; pL2=L2.1ist; whilepL2NULL&&5 pL2=pL2->next; quot=0.0; whilepL1!=NULL&&pL2!=NULL{ ifpL1->exp+pL2->exp==k{ 6 pL1=pL1->next; pL2=pL2->next; }elseifpL1->exp+pL2->exp>k pL1=pL1->next; else pL2=pL2->next; } ifquot!=0.0{ u=newitemquotk; u->next=list; list=u; } } reverseList; L2.reverseList: } voidmain {ListL1L2L; cout<<创建第一个多项式链表/n; L1.createList; cout<<创建第二个多项式链表/n; L2.createList; L.multiplyListL1L2; }
【说明】 下面程序的功能是找出所有三位数中个十百位数字的立方和等于该数本身的三位数并显示在程序的每条横线处填写一个适当的词或语句使程序的功能完整 public1classcube_Root{ publicstaticvoid2mainStringargs[]{ System.out.println个十百位数字的立方和等于该数本身的三位数有; forintn=100;n<1000;n++ { intabc; 3 b=n/10%10; 4 if5 System.out.printlnn; } } }
阅读以下说明和Java代码将应填入n处的字句写在对应栏内 【说明】 有一种猜数字游戏开始时程序随机产生四个不相同的个位数字顺序固定然后玩家输入猜测的四个数字程序比较后给出提示本次猜数字有几个数字完全正确有几个数字数值正确但是位置错误玩家重复猜测直至结果完全正确例如程序生成1234玩家猜测1630则提示位置正确的有1个位置错误的有1个完全错误的有2个 下面的两个Java函数是猜数字游戏里面使用的两个函数第一个用于产生四个不相同的数字第二个函数先判断输入是否合法若合法则进行比较并给出提示 【Java程序】privateString randNum//产生答案数字{int[] digits={0123456789}Randommum=new RandomnewDate.getTimeforint i=0i<10i++{ intp=Math.absrnum.nextInt%10 inttmp=digits[p]//tmp是临时存储数字的变量 1 digits[i]=tmp} return Integer.toStringdigits[0]+Integer.toStringdigits[1] +Integer.toStringdigits[2]+Integer.toStringdigits[3] }StringcheckAnswerStringguessStdnganswer {ifguess.length!=4return 要输入4个数字!int num=0try{num=2 }//判断输入是否是数字 catchNumberFormatExceptionex {return要输入数字!}//catch int[]timesDigit={0000000000} forinti=0i<4i++{ intptr=num%10 num=num/10 if3//输入数字有重复 return数字有重复! }//for inta=0 intb=0 forintj=0j<4j++ { intpos=answer.indexOfguess.substringjj+1 if4 //当前数字完全正确 a++ elseifpos>=0 b++ } if5//答案完全正确 return恭喜!答对了!! else{ textAreaContent+= 位置正确的有+a+个位置错误的有+b+ 个完全错误的有+4-a-b+个/n return继续努力 }}
阅读以下说明和Java代码将应填入n处的字句写在对应栏内 【说明】 下面的Java程序演示了如何在用户等待载入主程序时显示logo图片的例子logo图片mylogo.gif存放在文件夹image下面显示logo图片的是一个线程类logo 【Java程序】importjavax.swing.*import java.awt.*importjava.awt.event.*import javax.swing.ImageIcon.*importjava.lang.Runnable publicclassmainFrameextendsJFrame{ publicstaticvoidmainString[]args {Logolg=new Logoimage/mylogo.giflg. 1mainFrame main_framE=newmainFrame main_frame.setTitle使用logo图片示例程序 Thread.sleep1//程序暂时挂起 main_frame.setVisibletrue lg.2//使logo图片不可见 }}classLogoextendsJWindow implements3{ Stringfilename//Logo图像文件的文件名public LogoStringname{filename= name} publicvoidrun{ ImageIconig=newImageIconfilename JButtonbtn=newJButtonig//将图片给JButton显示 getContentPane.4 //将按钮加到JPanel里Toolkitkit= Toolkit.getDefauhToolkitDimensionscreenSize= kit.getScreenSize//获得屏幕的大小 setLocationscreenSize.width/4screenSize.height/4 //将Logo窗口显示在屏幕宽的1/4高的1/4处 setSizeig.getIconWidthig.getIconHeight //将Logo窗口大小设成图像的大小toFront //将Logo窗口显示为最前面的窗口setVisibletrue 5//显示该窗口 }publicvoidsetNOtVisible { setVisiblefalse}}
【说明】 在窗体上画一个名称为Combo1的组合框画两个名称分别Labe11Labe12及Caption属性分别为城市名称和空白的标签程序运行后当在组合框中输入一个新项后按回车键ASCII码为13时如果输入的项在组合框的列表中不存在则自动添加到组合框的列表中并在Labe12中给出提示已成功添加输入项如果存在则在Labe12中给出提示输入项已在组合框中 【程序】 PrivateSubCombo11KeyAsciiAsInteger IfKeyAscii=2Then Fori=0To3 IfCombo1.Text=4Then Labe12.Caption=输入项已在组合框中 ExitSub EndIf Nexti Label2.Caption=已成功添加输入项 Combo1.5Combo1.Text EndIf EndSub
阅读以下说明和Java代码将应填入n处的字句写在对应栏内 【说明】 下面的Java程序演示了如何在用户等待载入主程序时显示logo图片的例子logo图片mylogo.gif存放在文件夹image下面显示logo图片的是一个线程类logo 【Java程序】importjavax.swing.*import java.awt.*importjava.awt.event.*import javax.swing.ImageIcon.*importjava.lang.Runnable publicclassmainFrameextendsJFrame{ publicstaticvoidmainString[]args {Logolg=new Logoimage/mylogo.giflg. 1mainFrame main_framE=newmainFrame main_frame.setTitle使用logo图片示例程序 Thread.sleep1//程序暂时挂起 main_frame.setVisibletrue lg.2//使logo图片不可见 }}classLogoextendsJWindow implements3{ Stringfilename//Logo图像文件的文件名public LogoStringname{filename= name} publicvoidrun{ ImageIconig=newImageIconfilename JButtonbtn=newJButtonig//将图片给JButton显示 getContentPane.4 //将按钮加到JPanel里Toolkitkit= Toolkit.getDefauhToolkitDimensionscreenSize= kit.getScreenSize//获得屏幕的大小 setLocationscreenSize.width/4screenSize.height/4 //将Logo窗口显示在屏幕宽的1/4高的1/4处 setSizeig.getIconWidthig.getIconHeight //将Logo窗口大小设成图像的大小toFront //将Logo窗口显示为最前面的窗口setVisibletrue 5//显示该窗口 }publicvoidsetNOtVisible { setVisiblefalse}}
阅读以下说明和Java代码将应填入n处的字句写在对应栏内 【说明】 下面的Java程序演示了程序竞争资源Mutex的实例对象而引起程序死锁的一种例子 【Java程序】importjava.applet.*import java.awt.*//此处声明一个互斥类classMutex{ }classAextends1 {privateMutexfirstsecond publicAMutexfMutexs {first=f second=s} publicvoidrun{ //锁定first变量 2first { try{ //本线程挂起等待重新调度 Thread.sleep1//注意此处1不是小题序号 } catchInterruptedExceptione{} System.out.printlnthreadAgotfirstmutex 2 second//锁定second变量 {//dosomething System.out.printlnthreadAgotsecond mutex} //释放second变量} //释放first变量}} classBextends1{ privateMutexfirstsecondpublic BMutexfMutexs{ 3 second=s} publicvoidrun{ 2second //锁定second变量{ //dosomething try { Thread.sleepint3*Math.random*1000 //本线程挂起等待重新调度 } catchInterruptedExceptione{} System.out.printlnthreadBgotsecondmutex 2first //锁定first变量 { //dosomething System.out.printlnthreadBgotfirstmutex }//释放first变量 }//释放second变量 }}publicclass DeadlockExample{publicstatic voidmainStringarg[]{ MutexmutexX=newMutex MutexmutexY=newMutex AthreadA=newAmutexXmutexY BthreadB=newB4 threadA.5 threadB.start} }
阅读以下说明和流程图回答问题将解答填入对应栏 [说明] 本流程图采用双向冒泡法实现对数组a[n]的排序双向冒泡法就是在逐步缩小的数组内分别从数组的两端开始向内搜索同时将大数往上浮小数往下沉每次交换一组数flag是一个标志发生过交换就置为1当这个循环过程都不再发生交换时则数组排序完成 注流程中循环开始的说明按照循环变量循环初值循环终值增量格式描述 定义swAP[ab]为将a和b两数交换 [问题] 将流程图的1~5处补充完整
阅读以下说明和Java代码将应填入n处的字句写在对应栏内 【说明】 下面的Java程序演示了程序竞争资源Mutex的实例对象而引起程序死锁的一种例子 【Java程序】importjava.applet.*import java.awt.*//此处声明一个互斥类classMutex{ }classAextends1 {privateMutexfirstsecond publicAMutexfMutexs {first=f second=s} publicvoidrun{ //锁定first变量 2first { try{ //本线程挂起等待重新调度 Thread.sleep1//注意此处1不是小题序号 } catchInterruptedExceptione{} System.out.printlnthreadAgotfirstmutex 2 second//锁定second变量 {//dosomething System.out.printlnthreadAgotsecond mutex} //释放second变量} //释放first变量}} classBextends1{ privateMutexfirstsecondpublic BMutexfMutexs{ 3 second=s} publicvoidrun{ 2second //锁定second变量{ //dosomething try { Thread.sleepint3*Math.random*1000 //本线程挂起等待重新调度 } catchInterruptedExceptione{} System.out.printlnthreadBgotsecondmutex 2first //锁定first变量 { //dosomething System.out.printlnthreadBgotfirstmutex }//释放first变量 }//释放second变量 }}publicclass DeadlockExample{publicstatic voidmainStringarg[]{ MutexmutexX=newMutex MutexmutexY=newMutex AthreadA=newAmutexXmutexY BthreadB=newB4 threadA.5 threadB.start} }
阅读以下算法说明和C程序根据要求回答问题1和问题2 【说明】 【算法4-1】的功能是用来检查文本文件中的圆括号是否匹配若文件中存在圆括号而没有对应的左括号或者右括号则给出相应的提示信息如图1-18所示 在【算法4-1】中slack为一整数栈算法中各函数的说明如表1-11所示 表1-11各函数的功能说明表 函数名 函数功能 pushinti 将整数i压入栈stack中 Pop stack的栈顶元素出栈 Empty 判断stack栈是否为空若为空函数返回1否则函数返回0 Nextch 读取文本文件中的下一个字符并返回该字符的ASCII值将字符所在的行号及字符在行中的位置分别存储到变量row和col中若遇到文件结束符则将变量EOF置为true Kindcharch 判断字符ch是左括号还是右括号若是左括号函数返回1若是右括号函数返回2若两者都不是函数返回0【算法4-1】将栈stack置空置EOF为falseCh<-nextchwhilenot EOFk←kindchifk==1 {push2push3}elseifk ==4ifnot empty{poppopelse{显示错误信息缺少对应左括号或右括号显示行号row显示列号colEnd ifEndifCh<-nextchendwhileifnot empty显示错误信息缺少对应左括号或右括号Whilenot empty{row<-popcol<-pop显示行号row显示列号colEnd whileEnd if为了识别更多种类的括号对【算法4-1】加以改进后得到【算法4-2】【算法4-2】能够识别圆括号方括号和花括号不同类型的括号不能互相匹配改进后函数kindcharch的参数及其对应的返回值如表1-12所示表1-12 函数kindcharch的参数及其对应的返回值 ch { } [ ] 其他 返回值 1 2 3 4 5 6 7【算法4-2】将栈stack置空置EOF为falseCh<-nextchwhilenot EOF{k<-kindchifk>0 if判断条件1{push5 push6 push7 }elseif判断条件2and判断条件3{ pop pop pop}else { 显示错误信息缺少对应左括号或右括号 显示行号row显示列号colend ifendifch<- nextchendwhileifnotempty{ 显示错误信息缺少对应左括号或右括号Whilenotempty{ Poprow<-pop col<-pop 显示行号row显示列号colendwhileendif 【问题1】 请将【算法4-1】和【算法4-2】中1~7空缺处的内容补充完整
阅读以下函数说明和C语言函数将应填入n处的字句写在对应栏内[说明]函数voiddiffNode*ANode*BNode**r的功能是根据两个由整数按升序构成的单链表L1和L2分别由AB指向构造一个单链表L3由*r指向要求L3中的所有整数都是L1并且不是L2中的整数还要求L3中的所有整数都两两不等[C函数]#include<malloc.h>typedefstructnode{intdata;structnode*next;}Node;voiddiffNode*ANode*BNode**r{intlastnum;Node*P;*r=NULL;if!Areturn;while1>ifA->data<B->data{lastnum=A->data;p=Node*mallocsizeofNode;P->data=lastnum;P->next=*r;2;doA=A->next;while3>;}elseiffA->data>B->dataB=B->next;else{4;lastnum=A->datawhileA&&A->data==lastnumA=A->next;}whileA{lastnum=A->data;p=Node*mallocsizeofNode;P->data=lastnum;5;*r=P;whileA&&A->data==lastnumA=A->next;}}
【说明】 函数moveint*aintn用于整理数组a[]的前n个元素使其中小于0的元素移到数组的前端大于0的元素移到数组的后端等于0的元素留在数表中间 令a[0]~a[low-1小于0初始为空a[low]-a[i-1]等于0初始为空a[i]~a[high]还未考察当前考察元素为a[i]a[high+1]~a[n-1]大于0初始为空 【函数】 moveint*aintn { intilowhight; low=i=0;high=n-1; while1 ifa[i]<0 { t=a[i];a[i]=a[low];a[low]=t; 2;i++; } elseif3 {t=a[i];a[i]=a[high];a[high]=t; 4; } else5; }
【说明】 为了减少直接插入排序关键字的比较次数本算法使用了二分折半插入法对一个无序数组R[1.n]进行排序排序思想是对一个待插入元素先通过二分法折半找到插入位置后移元素后将该元素插入到恰当位置假设R[]中的元素互不相同 【算法】 1.变量声明 XDataType ijlowhighmidR[0..n] 2.每循环一次插入一个R[i] 循环i以1为步长从2到n反复执行 ①准备 X<-R[i]1high<-i-1; ②找插入位置 循环当2时反复执行 3; 若X.key<R[mid].key 则high<-mid-1 否则4 ③后移 循环j以-1为步长从5反复执行 R[j+1]<-R[j] ④插入 R[low]<-X 3.算法结束
阅读以下说明和Java代码将应填入n处的字句写在对应栏内 【说明】 下面的Java程序演示了程序竞争资源Mutex的实例对象而引起程序死锁的一种例子 【Java程序】importjava.applet.*import java.awt.*//此处声明一个互斥类classMutex{ }classAextends1 {privateMutexfirstsecond publicAMutexfMutexs {first=f second=s} publicvoidrun{ //锁定first变量 2first { try{ //本线程挂起等待重新调度 Thread.sleep1//注意此处1不是小题序号 } catchInterruptedExceptione{} System.out.printlnthreadAgotfirstmutex 2 second//锁定second变量 {//dosomething System.out.printlnthreadAgotsecond mutex} //释放second变量} //释放first变量}} classBextends1{ privateMutexfirstsecondpublic BMutexfMutexs{ 3 second=s} publicvoidrun{ 2second //锁定second变量{ //dosomething try { Thread.sleepint3*Math.random*1000 //本线程挂起等待重新调度 } catchInterruptedExceptione{} System.out.printlnthreadBgotsecondmutex 2first //锁定first变量 { //dosomething System.out.printlnthreadBgotfirstmutex }//释放first变量 }//释放second变量 }}publicclass DeadlockExample{publicstatic voidmainStringarg[]{ MutexmutexX=newMutex MutexmutexY=newMutex AthreadA=newAmutexXmutexY BthreadB=newB4 threadA.5 threadB.start} }
阅读以下说明和Java源程序将应填入n处的字句写在对应栏内 【说明】以下程序能够计算三角形矩形和正方形的周长并输出 程序由5个类组成AreaTest是主类类TriangleRectangle和Square分别表示三角形矩形和正方形抽象类Figure提供了一个计算周长的抽象方法 【程序】publicclassgirthTest{ publicstaticvoidmainStringargs[]{ Figure[]figures={new Triangle233newRectangle58newSquare5 }forint i=0i<figures.lengthi++{ System.out.printlnfigures[i]+girth=+figures[i].getGirth }} }publicabstractclassFigure{public abstractdoublegetGirth}publicclass Rectangleextends1{double heightdoublewidth publicRectangledoubleheightdoublewidth{ this.height=height this.width=width} publicStringtoString{ returnRectangleheight=+height+width=+width+ }publicdoublegetGirth{ return2 }}publicclassSquare extends3{public Squaredoublewidth{4 }public StdngtoString{return Squarewidth=’+width+} }publicclassTriangleextends5 {doublela doublelbdoublelc publicTriangledoubleladoublelbdoublelc{ this.la=lathis.lb=lbthis.lc=lc }publicStringtoString{ returnTrianglesides=+la++lb+ +lc+}public doublegetGirth{return la+lab+lc}}
阅读以下说明和C++程序将应填入n处的字句写在对应栏内[说明]以下程序的功能是计算三角形矩形和正方形的面积并输出程序由4个类组成类TriangleRectangle和Square分别表示三角形矩形和正方形抽象类Figure提供了一个纯虚拟函数getArea作为计算上述三种图形面积的通用接口[C++程序]#include<iostream.h>#include<math.h>classFigure{public:virtualdoublegetArea=0;//纯虚拟函数};classRectangle:1{protected:doubleheight;doublewidth;public:Rectangle{};Rectangledoubleheightdoublewidth{This->height=height;This->width=width;}doublegetarea{return2;}};classSquare:3public:squaredoublewidth{4;}};classtriangle:5{doublela;doublelb;doublelc;public:triangledoubleladoublelbdoublelc{this->la=la;thiS->ib;this->lc;}doublegetArea{doubles=la+lb+lc/2.0;returnsqrts*s-la**s-lb*s-lc;}};viodmain{figure*figures[3]={newtriangle233newRectangle58newSquare5};forinti=0;i<3;i++{cout<<figures[<<i<<]area=<<figures->getarea<<endl;}}};
阅读以下说明Java代码和HTML文档将应填入n处的字句写在对应栏内 【说明】当用户启动html浏览器并首次打开下面的html文档时Java Applet小程序在显示面板上显示字符串欢迎您!当html页面被其他窗口遮挡后再次显示时小程序在显示面板上显示欢迎您回来! [Java代码]importjava.awt.*import java.applet.*publicclassHelloAppletextends1 {publicvoidpaint2 { g.drawStringmessage1020 message=欢迎您回来!} publicvoid3{ message=欢迎您!} private4message }[HTML文档]<html> <head><title>HTMLTestHelloApplet Page</title></head> <body>TestHenoApplet小程序<br> <applet codebase=.code= 5 name=TestApplet width=400 height=300> </applet> </body></html>
阅读以下说明和C++程序将应填入n处的字句写在对应栏内[说明]下面程序是为汽车市场编制的一个程序的一部分其中automobile是基类[C++程序]//Auto.h#ifndefAUTO_H#defineAUTO_Hclassautomobile{1:intmiles_per_gallon;//汽车每加仑行驶公里数floatfuel_capacity//油箱容积public:voidinitializeintin_mpgintin_fuel;intget_mpgvoid;floatget_fuelvoid;floattravel_distancevoid;}#endif//Auto.cpp#includeauto.hvoidautomobile::initializeintin_mpgfloatinfuel{miles_per_gallon=in_mpg;fuel_capacity=in_fuel;intautomobile::get_mpg//提供一辆特定汽车每加仑公里数{returnmilesper_gallon;}floatautomobile::get_fuel//提供油箱容积{returnfuel_capacity;}floatautomobile::travel_distance{return2}//car.h#ifndefCAR_H#defineCAR_H#includeauto.hclasscar:3{intTotal_doors;public:voidinitializeintin_mpgfloatin_fuelintdoors=4;intdoorsvoid;};#endif//car.cpp#includecar.hvoidcar::initializeintin_mpgfloatin_fuelintdoor{Total_doors=door;miles_per_galion=in_mpg;fuel_capacity=in_fuel;}intcar::doorsvoid{returnTotaldoors;}//Allauto.cpp#include#includeauto.h#includecar.hintmain{carsedan;sedan.initialize2420.04;tout<<Thesedancantravel<<4<<miles./n;cout<<Thesedanhas<<5<<doors./n;return0;}
从下列3道试题试题5至试题7中任选1道解答如果解答的试题数超过1道则题号小的1道解答有效 阅读以下应用说明及VisualBasic程序代码根据要求回答问题1至问题4 【说明】 某学期成绩管理系统的增删改数据表中的记录对话框如图1-19所示 图1-19对话框中共定义了6个标签6个文本框4个命令按钮和1个Data数据控件其中Data数据控件是Visual Basic的标准控件利用它能方便地创建应用程序与数据库之间的连接并实现对数据资源的访问【添加】cmdAdd按钮用于向学生成绩数据表添加一条空记录【修改】cmdEdit按钮用于修改当前所显示的一条数据记录命令按钮【删除】cmdDelete用于删除当前显示的一条数据记录单击【退出】cmdExit按钮系统将退出图1-19所示的对话框 表1-13是学生成绩表结构的示例表1-14是学生成绩表的示例 图1-19将表1-14数据库中的记录信息显示到相应的文本框中要在各文本框txtStuii=012345中显示Data数据控件所连接的数据表中的数据必须将文本框与Data数据控件进行绑定 表1-13 学生成绩表结构 字段名 类型 大小 字段名 类型 大小 班级 Text 6 语文 Integer 2默认 学号 Text 8 数学 Integer 2默认 姓名 Text 10 英语 Integer 2默认表1-14 学生成绩示例表 班级 学号 姓名 语文 数学 英语 A A40001 张薇 95 86 90 B B40001 谢新 67 71 81 A A40002 刘红 94 89 86 C C40001 张斌 78 88 86 【VisualBasic程序】Private SubForm_LoadFori=0To5txtStui.Locked= TrueNextiEndSubPrivateSubcmdAdd ClickcmdEdit.Enabled=NotcmdEdit.Enabled1 Fori=0To5txtStui.Locked=Not txtStui.LockedNextiIfcmdAdd.Caption=添加 Then2Datal.Caption= 新记录cmdAdd.Caption=保存cmdExit.Caption= 取消txtStu0.SetFocusElse Datal.Recordset.Update3 cmdAdd.Caption=添加EndIfEndSubPrivateSub cmdEdit_ClickcmdAdd.Enabled=NotcmdAdd. EnabledcmdDelete.Enabled=NotcmdDelete.EnabledFori=0 To5txtStui.Locked=NottxtStui.LockedNext iIfcmdEdit.Caption=修改Then Datal.Recordset.EditcmdEdit.Caption=保存 cmdExit.Caption=取消Else4 cmdEdit.Caption=修改EndIfEnd SubPrivateSubcmdDelete_Clickanswer=MsgBox确实删除该记录吗 vbYesNo+vbQuestion警告Ifanswer=vbYesThen Datal.Recordset.Delete5 IfDatal.Recordset.EOFThen6 EndIfEndIfEndSubPrivate SubcmdExit_ClickIfcmdExit.Caption=退出Then EndElse7 cmdAdd.Enabled=True cmdEdit.Enabled=TruecmdDelete.Enabled= TrueFori=0To5 txtStui.Locked=NottxtStui.LockedNext icmdExit.Caption=退出 cmdAdd.Caption=添加cmdEdit.Caption= 修改8EndIfEnd SubPrivateSubDatal_RepositionDatal.Caption=第& 9.AbsolutePosition+1&条记录EndSub 【问题3】 为图1-19对话框中的【退出】按钮新增如下的功能运行图1-19窗体时该按钮上显示有退出C的字样信息按【Alt+C】组合键或按【ESC】键都相当于单击该按钮 要完成以上新增功能需要将[退出]按钮cmdExit的Cancel属性和Caption属性分别设置什么样的值
阅读以下说明和Java代码将应填入n处的字句写在对应栏内 【说明】 有一种猜数字游戏开始时程序随机产生四个不相同的个位数字顺序固定然后玩家输入猜测的四个数字程序比较后给出提示本次猜数字有几个数字完全正确有几个数字数值正确但是位置错误玩家重复猜测直至结果完全正确例如程序生成1234玩家猜测1630则提示位置正确的有1个位置错误的有1个完全错误的有2个 下面的两个Java函数是猜数字游戏里面使用的两个函数第一个用于产生四个不相同的数字第二个函数先判断输入是否合法若合法则进行比较并给出提示 【Java程序】privateString randNum//产生答案数字{int[] digits={0123456789}Randommum=new RandomnewDate.getTimeforint i=0i<10i++{ intp=Math.absrnum.nextInt%10 inttmp=digits[p]//tmp是临时存储数字的变量 1 digits[i]=tmp} return Integer.toStringdigits[0]+Integer.toStringdigits[1] +Integer.toStringdigits[2]+Integer.toStringdigits[3] }StringcheckAnswerStringguessStdnganswer {ifguess.length!=4return 要输入4个数字!int num=0try{num=2 }//判断输入是否是数字 catchNumberFormatExceptionex {return要输入数字!}//catch int[]timesDigit={0000000000} forinti=0i<4i++{ intptr=num%10 num=num/10 if3//输入数字有重复 return数字有重复! }//for inta=0 intb=0 forintj=0j<4j++ { intpos=answer.indexOfguess.substringjj+1 if4 //当前数字完全正确 a++ elseifpos>=0 b++ } if5//答案完全正确 return恭喜!答对了!! else{ textAreaContent+= 位置正确的有+a+个位置错误的有+b+ 个完全错误的有+4-a-b+个/n return继续努力 }}
从下列3道试题试题5至试题7中任选1道解答如果解答的试题数超过1道则题号小的1道解答有效 阅读以下应用说明及VisualBasic程序代码根据要求回答问题1至问题4 【说明】 某学期成绩管理系统的增删改数据表中的记录对话框如图1-19所示 图1-19对话框中共定义了6个标签6个文本框4个命令按钮和1个Data数据控件其中Data数据控件是Visual Basic的标准控件利用它能方便地创建应用程序与数据库之间的连接并实现对数据资源的访问【添加】cmdAdd按钮用于向学生成绩数据表添加一条空记录【修改】cmdEdit按钮用于修改当前所显示的一条数据记录命令按钮【删除】cmdDelete用于删除当前显示的一条数据记录单击【退出】cmdExit按钮系统将退出图1-19所示的对话框 表1-13是学生成绩表结构的示例表1-14是学生成绩表的示例 图1-19将表1-14数据库中的记录信息显示到相应的文本框中要在各文本框txtStuii=012345中显示Data数据控件所连接的数据表中的数据必须将文本框与Data数据控件进行绑定 表1-13 学生成绩表结构 字段名 类型 大小 字段名 类型 大小 班级 Text 6 语文 Integer 2默认 学号 Text 8 数学 Integer 2默认 姓名 Text 10 英语 Integer 2默认表1-14 学生成绩示例表 班级 学号 姓名 语文 数学 英语 A A40001 张薇 95 86 90 B B40001 谢新 67 71 81 A A40002 刘红 94 89 86 C C40001 张斌 78 88 86 【VisualBasic程序】Private SubForm_LoadFori=0To5txtStui.Locked= TrueNextiEndSubPrivateSubcmdAdd ClickcmdEdit.Enabled=NotcmdEdit.Enabled1 Fori=0To5txtStui.Locked=Not txtStui.LockedNextiIfcmdAdd.Caption=添加 Then2Datal.Caption= 新记录cmdAdd.Caption=保存cmdExit.Caption= 取消txtStu0.SetFocusElse Datal.Recordset.Update3 cmdAdd.Caption=添加EndIfEndSubPrivateSub cmdEdit_ClickcmdAdd.Enabled=NotcmdAdd. EnabledcmdDelete.Enabled=NotcmdDelete.EnabledFori=0 To5txtStui.Locked=NottxtStui.LockedNext iIfcmdEdit.Caption=修改Then Datal.Recordset.EditcmdEdit.Caption=保存 cmdExit.Caption=取消Else4 cmdEdit.Caption=修改EndIfEnd SubPrivateSubcmdDelete_Clickanswer=MsgBox确实删除该记录吗 vbYesNo+vbQuestion警告Ifanswer=vbYesThen Datal.Recordset.Delete5 IfDatal.Recordset.EOFThen6 EndIfEndIfEndSubPrivate SubcmdExit_ClickIfcmdExit.Caption=退出Then EndElse7 cmdAdd.Enabled=True cmdEdit.Enabled=TruecmdDelete.Enabled= TrueFori=0To5 txtStui.Locked=NottxtStui.LockedNext icmdExit.Caption=退出 cmdAdd.Caption=添加cmdEdit.Caption= 修改8EndIfEnd SubPrivateSubDatal_RepositionDatal.Caption=第& 9.AbsolutePosition+1&条记录EndSub【问题1】 请根据【说明】和图1-19的显示结果从以下备选答案中为1~9空缺处选择正确的答案以下部分选项可重复选择 【备选答案】 A.Datal.Refresh B.Datal.Recordset.Update C.Datal.Recordset D.Datal.Recordset.CancelUpdate E.Datal.Recordset.AddNewF.Datal.Recordset.MoveNextG.Datal.Recordset.MoveLastH.cmdDelete.Enabled=NotcmdDelete.Enabled
阅读以下说明和Java代码将应填入n处的字句写在对应栏内 【说明】 有一种猜数字游戏开始时程序随机产生四个不相同的个位数字顺序固定然后玩家输入猜测的四个数字程序比较后给出提示本次猜数字有几个数字完全正确有几个数字数值正确但是位置错误玩家重复猜测直至结果完全正确例如程序生成1234玩家猜测1630则提示位置正确的有1个位置错误的有1个完全错误的有2个 下面的两个Java函数是猜数字游戏里面使用的两个函数第一个用于产生四个不相同的数字第二个函数先判断输入是否合法若合法则进行比较并给出提示 【Java程序】privateString randNum//产生答案数字{int[] digits={0123456789}Randommum=new RandomnewDate.getTimeforint i=0i<10i++{ intp=Math.absrnum.nextInt%10 inttmp=digits[p]//tmp是临时存储数字的变量 1 digits[i]=tmp} return Integer.toStringdigits[0]+Integer.toStringdigits[1] +Integer.toStringdigits[2]+Integer.toStringdigits[3] }StringcheckAnswerStringguessStdnganswer {ifguess.length!=4return 要输入4个数字!int num=0try{num=2 }//判断输入是否是数字 catchNumberFormatExceptionex {return要输入数字!}//catch int[]timesDigit={0000000000} forinti=0i<4i++{ intptr=num%10 num=num/10 if3//输入数字有重复 return数字有重复! }//for inta=0 intb=0 forintj=0j<4j++ { intpos=answer.indexOfguess.substringjj+1 if4 //当前数字完全正确 a++ elseifpos>=0 b++ } if5//答案完全正确 return恭喜!答对了!! else{ textAreaContent+= 位置正确的有+a+个位置错误的有+b+ 个完全错误的有+4-a-b+个/n return继续努力 }}
阅读以下函数说明和C语言函数将应填入n处的字句写在对应栏内 [说明] 已知r[1...n]是n个记录的递增有序表用折半查找法查找关键字为k的记录若查找失败则输出failure函数返回值为0否则输出success函数返回值为该记录的序号值 [C函数] intbinarysearchstructrecordtyper[]intnkeytypek {intmidlow=1hig=n; whilelow<=hig{ mid=1; ifk<r[mid].key2; elseifk==r[mid].key{ printfsuccesS/n; 3; } else4; } printffailure/n; 5; }
阅读以下说明和Java代码将应填入n处的字句写在对应栏内 【说明】 Java语言允许用户在需要时创建自己的异常类型用于表达JDK中未涉及到的其他异常状况这些异常必须继承Throwable类或其子类用户自定义异常类通常属于Exception范畴依据命名惯例应以Exception结尾用户自定义异常未被加入JREJava运行时环境的控制逻辑中因此永远不会自动抛出只能由人工创建并抛出 【Java程序】classMyException1 Exception{privateStringid publicMyExceptionStringmessageStringid{ 2//调用父类的构造函数 this.id=id }PublicStringgetId{ returnid} }publicclassTest{public voidtestExceptionthrowsMyException{ throw3抛出自定义异常123 }publicvoidcatchException{ tly{ testException }4MyExceptione{ System.out.print捕获了如下异常 e.printStackTrace } }publicvoidstaticmainString args[]{Testt=new Test t.catchException} }程序输出如下补充完整捕获了如下异常5 atTest.testException...
阅读以下说明和Java源程序将应填入n处的字句写在对应栏内 【说明】以下程序能够计算三角形矩形和正方形的周长并输出 程序由5个类组成AreaTest是主类类TriangleRectangle和Square分别表示三角形矩形和正方形抽象类Figure提供了一个计算周长的抽象方法 【程序】publicclassgirthTest{ publicstaticvoidmainStringargs[]{ Figure[]figures={new Triangle233newRectangle58newSquare5 }forint i=0i<figures.lengthi++{ System.out.printlnfigures[i]+girth=+figures[i].getGirth }} }publicabstractclassFigure{public abstractdoublegetGirth}publicclass Rectangleextends1{double heightdoublewidth publicRectangledoubleheightdoublewidth{ this.height=height this.width=width} publicStringtoString{ returnRectangleheight=+height+width=+width+ }publicdoublegetGirth{ return2 }}publicclassSquare extends3{public Squaredoublewidth{4 }public StdngtoString{return Squarewidth=’+width+} }publicclassTriangleextends5 {doublela doublelbdoublelc publicTriangledoubleladoublelbdoublelc{ this.la=lathis.lb=lbthis.lc=lc }publicStringtoString{ returnTrianglesides=+la++lb+ +lc+}public doublegetGirth{return la+lab+lc}}
热门题库
更多
中级网络工程师
中级信息系统管理工程师
初级程序员
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术