首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
在Word编辑状态下,移动光标至某段左侧,当光标变成箭头时连击左键三下,结果会选中 (1) 。
查看本题答案
包含此试题的试卷
初级程序员《单项选择》真题及答案
点击查看
你可能感兴趣的试题
在Word编辑状态下移动鼠标光标至某段左侧当鼠标光标变成箭头时连击3下将会选中______
一个句子
一行
一段
整篇文档
在Word编辑状态下移动鼠标至某段左侧当鼠标光标变成箭头时连击左键三 下会选中整篇文档
热门试题
更多
阅读以下说明和C函数将应填入n处的字句写在答题纸的对应栏内[说明]某班级有N名学生他们可根据自己的情况选修名称和数量不尽相同的课程设N等于6学生信息所选课程及成绩用链表结构存储如图5-1所示程序中相应的类型定义如下#defineN6structnodecharcname[5];/*课程名*/intgrade;/*成绩*/structnode*next;/*指针指示某学生选修的下一门课程及成绩*/;structstudentcharxh[5];/*学号*/charname[20];/*姓名*/structnode*link;/*指针指示出选修的课程及成绩链表*/stud_info[n];Stud_info[]为一个全局数组函数funccharkc[]int*num的功能是统计选修了课程名为kc的学生的人数并返回该课程的平均成绩若无人选修该课程则平均成绩为0参数num带回选修课程kc的学生人数[C语言函数]doublefunccharkc[]int*numinticount=0sum=0;/*count用于记录选修课程名为kc的学生的人数*/doubleavg=0.0;structnode*p;fori=0;i<N;i++p=1;/*取第土个学生所修课程链表的头指针*/whilepif2sum=3;count++;break;;/*if*/p=p->next;/*while*/4;if5avg=doublesum/count;/*计算平均成绩*/returnavg;/*func*/从下列的2道试题试题六至试题七中任选1道解答如果解答的试题数超过1道则题号小的1道解答有效
[说明]下面的程序演示了根据随机产生的奖牌数生成金银奖牌榜的过程程序使用的排序法是简单排序法以金牌得数为例其思想是选择最大的元素将它交换到最前面然后对剩下的部分采用同样的方法直到全部排序完成程序界面中左右两个文本框分别用于存放随机产生的奖牌数以及生成的奖牌榜名为Text1和Text2上下两个按钮分别名为Command1和Command2代码中使用的量主要有一维数组cntries用于存储10个国家的名称二维数组medals其元素medalsi0和medalsi1分别用于存放第i个i从0开始国家的金银牌数目[VisualBasic代码]Dimcntries10AsStringmedals102AsInteger’随机产生奖牌数SubnewMedals’为数组cntries和medals赋值EndSub’输出奖牌榜SubprintOuttxtAs1DimstrResuhAsStringiAsIntegerstrResult=国家&Chr9&金牌数&Chr9&银牌数&vbCrLfFori=0To9strResult=strResult&cntriesi&Chr9&medalsi0&Chr9&medalsi1&vbCrLfNexttxt.Text=strResultEndSub’交换两变量的值Subexchange2aAsVariant2bAsVariantDimtempAsVarianttemp=a:a=b:b=tempEndSub’随机产生并输出奖牌数PrivateSubCommand1_ClicknewMedalsprintOutText1EndSub’生成并输出奖牌榜PrivateSubCommand2_ClickDimijkAsIntegertempAsStringFori=0To9’按金牌数排序j=i’找到自第i个位置起全部数据中金牌得数最多者记其下标为jFork=i+1To9If3Thenj=kNextIfi<>jThen’若ij不等则交换对应位置的国家名金银牌数目exchangecntnesientriesjexchangemedalsi0medalsj0exchangemedalsi1medalsj1EndIfNextFori=0To9’按银牌数进行二次排序j=iFork=i+1To9Ifmedalsk0<>medalsj0Then4If5Thenj=kNextIfi<>jThenexchangecntriesicntriesjexchangemedalsi1medalsj1EndIfNextprintOutText2EndSub
[说明]设学生某次考试的成绩按学号顺序逐行存放于某文件中文件以单行句点.为结束符下面的流程图读取该文件统计出全部成绩中的最高分max和最低分min
阅读以下说明和流程图填补流程图中的空缺1~9将解答填入对应栏内[说明]假设数组A中的各元素A1A2AM已经按从小到大排序M≥1数组B中的各元素B1B2BN也已经按从小到大排序N≥1执行下面的流程图后可以将数组A与数组B中所有的元素全都存入数组C中且按从小到大排序注意序列中相同的数全部保留并不计排列顺序例如设数组A中有元素25679数组B中有元素2347则数组C中将有元素223456779[流程图]
阅读以下说明和C++程序代码将应填入n处的字句写在答题纸的对应栏内[说明]在下面的C++代码中类SalesTicket能够完成打印票据正文的功能类HeadDecorator与FootDecorator分别完成打印票据的抬头和脚注的功能已知该程序运行后的输出结果如下所示请填补该程序代码中的空缺这是票据的抬头!这是票据正文!这是票据的脚注!--------------------------------------这是票据的抬头!这是票据的脚注![C++程序代码]#include<iostream>usingnamespacestd;classSalesTicketpublic;1printTicketcout<<这是票据正文!<<endl;;classDecoratorpublicSalesTicketSalesTicket*ticket;publicDecoratorSalesTicke*tticket=t;voidprintTicketifticket!=NULLticket->printTicket;;classHeadDecorator:publicDecoratorpublic:HeadDecoratorSalesTicket*t:2voidprintTicketcout<<这是票据的抬头!<<endl;Decorator::printTicket;;classFootDecorator:publicDecoratorpublic:FootDecoratorSalesTicket*t:3voidprintTicketDecorator::printTicket;cout<<这是票据的脚注!<<endl;;voidmainvoidSalesTickett;FootDecoratorf&t;HeadDecoratorh4;h.printTicket;cout<<---------------------<<endl;FootDecoratoraNULL;HeadDecoratorb5;b.printTicket;
阅读以下说明和Java程序代码将应填入n处的字句写在答题纸的对应栏内[说明]在下面的Java程序代码中类SalesTicket能够完成打印票据正文的功能类HeadDecorator与FootDecorator分别完成打印票据的抬头和脚注的功能己知该程序运行后的输出结果如下所示请填补该程序代码中的空缺这是票据的抬头!这是票据正文!这是票据的脚注!---------------------------------------这是票据的抬头!这是票据的脚注![Java程序代码]publicclassSalesTicketpublicvoidprintTicketSystem.out.println这是票据正文!;publicclassDecoratorextendsSalesTicketSalesTicketticket;publicDecoratorSalesTickettticket=tpublicvoidprintTicketifticket!=nullticket.printTicket;publicclassHeadDecoratorextendsDecoratorpublicHeadDecoratorSalesTickett1;publicvoidprintTicketSystem.out.rintln这是票据的抬头!;Super.printTicket;publicclassFootDecoratorextendsDecoratorpublicFootDecoratorSalesTickett2;publicvoidprintTicketsuper.printTicket;System.out.println这是票据的脚注!;publicclassMainpublicstaticvoidmainString[]argsDecoratorT=newHeadDecorator3;T.4;System.out.println-----------------------------------------;T=newFootDecorator5;T.printTicket;
阅读以下说明和C++程序将应填入n处的字句写在对应栏内[说明]以下程序的功能是计算三角形矩形和正方形的面积并输出程序由4个类组成类TriangleRectangle和Square分别表示三角形矩形和正方形抽象类Figure提供了一个纯虚拟函数getArea作为计算上述三种图形面积的通用接口[C++程序]#include<iostream.h>#include<math.h>classFigurepublic:virtualdoublegetArea=0;//纯虚拟函数;classRectangle:1protected:doubleheight;doublewidth;public:Rectangle;RectangledoubleheightdoublewidthThis->height=height;This->width=width;doublegetareareturn2;;classSquare:3public:squaredoublewidth4;;classtriangle:5doublela;doublelb;doublelc;public:triangledoubleladoublelbdoublelcthis->la=la;thiS->ib;this->lc;doublegetAreadoubles=la+lb+lc/2.0;returnsqrts*s-la**s-lb*s-lc;;viodmainfigure*figures[3]=newtriangle233newRectangle58newSquare5;forinti=0;i<3;i++cout<<figures[<<i<<]area=<<figures->getarea<<endl;;
阅读以下说明和C程序将应填入n处的字句写在答题纸的对应栏内[说明]下面的程序按照以下规则输出给定名词的复数形式a.若名词以y结尾则删除y并添加iesb.若名词以sch或sh结尾则添加esc.其他所有情况直接添加s[C语言程序]#include<stdio.h>#include<string.h>char*pluralchar*wordintn;char*pstr;n=strlenword;/*求给定单词的长度*/pstr=char*mallocn+3;/*申请给定单词的复数形式存储空间*/if!pstr||n<2returnNULL;strcpypstrword;/*复制给定单词*/if1pstr[n-1]=’i-’;pstr[n]=’e’;pstr[n+1]=’s’;2;elseifpstr[n-1]==’s’||pstr[n-1]==’h’&&3pstr[n]=’e’;pstr[n+1]=’s’;pstr[n+2]=’\0’;elsepstr[n]=’s’;pstr[n+1]=’\0’;4maininti;char*ps;charwc[9][10]=chairdairybosscircusflydogchurchcluedish;fori=0;i<9;i++ps=5printf%s:%s\nwc[i]ps;/*输出单词及其复数形式*/freeps;/*释放空间*/systempause;
[说明]链式存储的队列称为链队根据队列的FIFO原则为了操作上的方便可以使用带头指针front和尾指针rear的单链表来实现链队若链队元素的数据类型为datatype则链队结构描述如下typedefstructnodedatatypedata;structnode*next;QNode;/*链队结点的类型*/typedefstructQNnode*front*rear;LQueue;/*将头尾指针封装在一起的链队*/以下这种链队的几个例子设q是一个指向链队的指针即LQueue*q下面各函数的功能说明如下1LQueue*Init_LQueue创建并返回一个带头尾结点的空链队2intEmpty_LQueueLQueue*q:判断链队q是否空3voidIn_LQueueLQueue*qdatatypex:将数据x压入链队q4intOut_LQueueLQuere*qdatatype*x:弹出链队q的第一个元素x若成功则返回返回1否则返回0[函数]LQueae*Init_LQueueLQueue*q*p;q=mallocsizeofLQueue;/*申请链队指针*/P=mallocsizedQNode;/*申请头尾指针结点*/p->next=NULL;1=p;returnq;intEmpty_LQueueLQueue*qifq->front2q>rearreturn0;elsereturn1;voidIn_LQueueLQueue*qdatatypexQNoda*p;p=mallocsizeofQNnode;/*申请新接点*/p->data=x;p->next=NULL;3=p;q->rear=p;intOut_LQueueLQueue*qdatatype*xQNnode*p;ifEmpty_LQueueqreturn0;/*队空操作失败*/elsep=q->front->next;*x=4;5=p->next;freep;ifq->front->next==NULLq->rear=q->front;return1;
阅读以下说明和Java程序代码将应填入n处的字句写在答题纸的对应栏内[说明]在下面的Java程序代码中类SalesTicket能够完成打印票据正文的功能类HeadDecorator与FootDecorator分别完成打印票据的抬头和脚注的功能己知该程序运行后的输出结果如下所示请填补该程序代码中的空缺这是票据的抬头!这是票据正文!这是票据的脚注!---------------------------------------这是票据的抬头!这是票据的脚注![Java程序代码]publicclassSalesTicketpublicvoidprintTicketSystem.out.println这是票据正文!;publicclassDecoratorextendsSalesTicketSalesTicketticket;publicDecoratorSalesTickettticket=tpublicvoidprintTicketifticket!=nullticket.printTicket;publicclassHeadDecoratorextendsDecoratorpublicHeadDecoratorSalesTickett1;publicvoidprintTicketSystem.out.rintln这是票据的抬头!;Super.printTicket;publicclassFootDecoratorextendsDecoratorpublicFootDecoratorSalesTickett2;publicvoidprintTicketsuper.printTicket;System.out.println这是票据的脚注!;publicclassMainpublicstaticvoidmainString[]argsDecoratorT=newHeadDecorator3;T.4;System.out.println-----------------------------------------;T=newFootDecorator5;T.printTicket;
阅读以下说明和C语言函数将应填入n处的字句写在答题纸的对应栏内[说明]假设一个剧场有N*N个座位顾客买票时可以提出任意有效的座号请求下面用二维数组a[N][N]模拟剧场中的座位a[i][j]等于0表示第i排第j列0≤ij≤N-1的票尚未售出函数intFindinta[][N]intRint*rowint*col的功能是在部分票已售出的情况下找出剧场中的R*R个空座位要求这些座位的排列形成一个正方形若找到满足要求的一个座位排列则函数返回1并算出该正方形左上角的行列号若未找到则返回0例如一个7×7个座位的剧场如下图a所示已售出部分座位的剧场如下图b所示图中阴影部分表示已售出的座位从图b中找出的3×3正方形空座位如图c中斜线区所示[C语言函数]intFindinta[][N]intRint*rowint*colintijkct;intFOUND=0;fori=0;!FOUND&&i<N-R+1;i++/*从第0排开始查找*/1;whilej<N-R+1&&!FOUNDfork=0;2&&a[i][j+k]==0;k++;/*查找第i排连续的R个座位*/ifk>=R/*找到第i排连续的R个空座位*/forc=0;c<R;c++/*查找其余的R*R-1个座位*/fort=1;t<R;t++ifa[3][j+c]!=0break;ift<Rbreak;/*for*/if4FOUND=1;/*if*/5;/*while*//*fori*/ifFOUND*row=i-1;*col=j-1;/*计算正方形区域的左上角坐标*/return1;return0;
阅读以下说明和C函数将应填入n处的字句写在答题纸的对应栏内[说明]某班级有N名学生他们可根据自己的情况选修名称和数量不尽相同的课程设N等于6学生信息所选课程及成绩用链表结构存储如图5-1所示程序中相应的类型定义如下#defineN6structnodecharcname[5];/*课程名*/intgrade;/*成绩*/structnode*next;/*指针指示某学生选修的下一门课程及成绩*/;structstudentcharxh[5];/*学号*/charname[20];/*姓名*/structnode*link;/*指针指示出选修的课程及成绩链表*/stud_info[n];Stud_info[]为一个全局数组函数funccharkc[]int*num的功能是统计选修了课程名为kc的学生的人数并返回该课程的平均成绩若无人选修该课程则平均成绩为0参数num带回选修课程kc的学生人数[C语言函数]doublefunccharkc[]int*numinticount=0sum=0;/*count用于记录选修课程名为kc的学生的人数*/doubleavg=0.0;structnode*p;fori=0;i<N;i++p=1;/*取第土个学生所修课程链表的头指针*/whilepif2sum=3;count++;break;;/*if*/p=p->next;/*while*/4;if5avg=doublesum/count;/*计算平均成绩*/returnavg;/*func*/从下列的2道试题试题六至试题七中任选1道解答如果解答的试题数超过1道则题号小的1道解答有效
阅读以下说明和C语言函数将应填入n处的字句写在答题纸的对应栏内[说明]假设一个剧场有N*N个座位顾客买票时可以提出任意有效的座号请求下面用二维数组a[N][N]模拟剧场中的座位a[i][j]等于0表示第i排第j列0≤ij≤N-1的票尚未售出函数intFindinta[][N]intRint*rowint*col的功能是在部分票已售出的情况下找出剧场中的R*R个空座位要求这些座位的排列形成一个正方形若找到满足要求的一个座位排列则函数返回1并算出该正方形左上角的行列号若未找到则返回0例如一个7×7个座位的剧场如下图a所示已售出部分座位的剧场如下图b所示图中阴影部分表示已售出的座位从图b中找出的3×3正方形空座位如图c中斜线区所示[C语言函数]intFindinta[][N]intRint*rowint*colintijkct;intFOUND=0;fori=0;!FOUND&&i<N-R+1;i++/*从第0排开始查找*/1;whilej<N-R+1&&!FOUNDfork=0;2&&a[i][j+k]==0;k++;/*查找第i排连续的R个座位*/ifk>=R/*找到第i排连续的R个空座位*/forc=0;c<R;c++/*查找其余的R*R-1个座位*/fort=1;t<R;t++ifa[3][j+c]!=0break;ift<Rbreak;/*for*/if4FOUND=1;/*if*/5;/*while*//*fori*/ifFOUND*row=i-1;*col=j-1;/*计算正方形区域的左上角坐标*/return1;return0;
[说明]下图是一个简易文本编辑器程序的运行界面用户打开磁盘上的某个文件后可以直接对文本进行编辑也可以利用界面提供的按钮完成相应操作主要操作介绍如下1打开文件打开文件对话框其中仅显示*.txt类型的文件用户选中某一文件后其内容将呈现于界面文本框内2查找提示用户输入要查找的内容将首次出现的查找内容以蓝色高亮标记3替换若文本框中已选中某段文本则提示用户输入要替换的内容在文本框中完成替换在开发过程中文本框名为Text1打开文件保存文件查找替换退出按钮分别命名为Command1至Command5[VisualBasic代码]DimfileNameAsStringDimfsoAsNew1tsAsObject’打开文本文件PrivateSubCommand1_ClickCommonDialog1.Filter=*.txtCommonDialog1.ShowOpenfileName=2’保存所打开的文件名Setfso=CreateObjeetScripting.FileSystemObjectSetts=fso.OpenTextFilefileNameForReadingIfNotts.AtEndOfStreamThenText1.Text=3EndIfts.CloseEndSub’保存文本文件PrivateSubCommand2_ClickSetts=fso.OpenTextFilefileNameForWriting4ts.CloseEndSub’查找字符串PrivateSubCommand3_CliekDimsearchAsStringpositionAsIntegersearch=InputBox输入要查找的字符串:position=InStrText1.Textsearch’在文本中查找字符串Ifposition>0Then’若找到指定的字符串Text1.SelStart=position-1’设置选定文本的起始位置Text1.SelLength=Lensearch’设置选定文本的长度ElseMsgBox没有发现要查找的字符串EndIfEndSub’替换选中的字符串PrivateSubCommand4_ClickDimobjectAsStringIf5>0Then’若已经选中了要替换的文本object=InputBox输入要替换的字符串:Text1.SelText=object’替换文本ElseMsgBox请先选中要替换的文本!EndIfEndSub’退出程序PrivateSubCommand5_ClickEndEndSub
阅读以下说明和C++程序代码将应填入n处的字句写在答题纸的对应栏内[说明]在下面的C++代码中类SalesTicket能够完成打印票据正文的功能类HeadDecorator与FootDecorator分别完成打印票据的抬头和脚注的功能已知该程序运行后的输出结果如下所示请填补该程序代码中的空缺这是票据的抬头!这是票据正文!这是票据的脚注!--------------------------------------这是票据的抬头!这是票据的脚注![C++程序代码]#include<iostream>usingnamespacestd;classSalesTicketpublic;1printTicketcout<<这是票据正文!<<endl;;classDecoratorpublicSalesTicketSalesTicket*ticket;publicDecoratorSalesTicke*tticket=t;voidprintTicketifticket!=NULLticket->printTicket;;classHeadDecorator:publicDecoratorpublic:HeadDecoratorSalesTicket*t:2voidprintTicketcout<<这是票据的抬头!<<endl;Decorator::printTicket;;classFootDecorator:publicDecoratorpublic:FootDecoratorSalesTicket*t:3voidprintTicketDecorator::printTicket;cout<<这是票据的脚注!<<endl;;voidmainvoidSalesTickett;FootDecoratorf&t;HeadDecoratorh4;h.printTicket;cout<<---------------------<<endl;FootDecoratoraNULL;HeadDecoratorb5;b.printTicket;
阅读以下函数说明和C语言函数将应填入n处的字句写在对应栏内[说明]已知r[1...n]是n个记录的递增有序表用折半查找法查找关键字为k的记录若查找失败则输出failure函数返回值为0否则输出success函数返回值为该记录的序号值[C函数]intbinarysearchstructrecordtyper[]intnkeytypekintmidlow=1hig=n;whilelow<=higmid=1;ifk<r[mid].key2;elseifk==r[mid].keyprintfsuccesS/n;3;else4;printffailure/n;5;
[说明]下面的流程图实现了正整数序列K1K2Kn的重排得到的新序列中比K1小的数都在K1的左侧比K1大的数都在K1的右侧以n=6为例序列122913218的重排过程为122913218→212913218→921213218→892121321[流程图]
阅读以下说明和C++程序代码将应填入n处的字句写在答题纸的对应栏内[说明]在下面的C++代码中类SalesTicket能够完成打印票据正文的功能类HeadDecorator与FootDecorator分别完成打印票据的抬头和脚注的功能已知该程序运行后的输出结果如下所示请填补该程序代码中的空缺这是票据的抬头!这是票据正文!这是票据的脚注!--------------------------------------这是票据的抬头!这是票据的脚注![C++程序代码]#include<iostream>usingnamespacestd;classSalesTicketpublic;1printTicketcout<<这是票据正文!<<endl;;classDecoratorpublicSalesTicketSalesTicket*ticket;publicDecoratorSalesTicke*tticket=t;voidprintTicketifticket!=NULLticket->printTicket;;classHeadDecorator:publicDecoratorpublic:HeadDecoratorSalesTicket*t:2voidprintTicketcout<<这是票据的抬头!<<endl;Decorator::printTicket;;classFootDecorator:publicDecoratorpublic:FootDecoratorSalesTicket*t:3voidprintTicketDecorator::printTicket;cout<<这是票据的脚注!<<endl;;voidmainvoidSalesTickett;FootDecoratorf&t;HeadDecoratorh4;h.printTicket;cout<<---------------------<<endl;FootDecoratoraNULL;HeadDecoratorb5;b.printTicket;
阅读以下说明和C语言函数将应填入n处的字句写在答题纸的对应栏内[说明]假设一个剧场有N*N个座位顾客买票时可以提出任意有效的座号请求下面用二维数组a[N][N]模拟剧场中的座位a[i][j]等于0表示第i排第j列0≤ij≤N-1的票尚未售出函数intFindinta[][N]intRint*rowint*col的功能是在部分票已售出的情况下找出剧场中的R*R个空座位要求这些座位的排列形成一个正方形若找到满足要求的一个座位排列则函数返回1并算出该正方形左上角的行列号若未找到则返回0例如一个7×7个座位的剧场如下图a所示已售出部分座位的剧场如下图b所示图中阴影部分表示已售出的座位从图b中找出的3×3正方形空座位如图c中斜线区所示[C语言函数]intFindinta[][N]intRint*rowint*colintijkct;intFOUND=0;fori=0;!FOUND&&i<N-R+1;i++/*从第0排开始查找*/1;whilej<N-R+1&&!FOUNDfork=0;2&&a[i][j+k]==0;k++;/*查找第i排连续的R个座位*/ifk>=R/*找到第i排连续的R个空座位*/forc=0;c<R;c++/*查找其余的R*R-1个座位*/fort=1;t<R;t++ifa[3][j+c]!=0break;ift<Rbreak;/*for*/if4FOUND=1;/*if*/5;/*while*//*fori*/ifFOUND*row=i-1;*col=j-1;/*计算正方形区域的左上角坐标*/return1;return0;
阅读以下说明和C++程序将应填入n处的字句写在对应栏内[说明]下面程序实现十进制向其它进制的转换[C++程序]#includeioStream.h#includemath.h#includetypedefstructnodeintdata;node*next;Node;ClassTransformDUDlic:voidTransintdinti;//d为数字;i为进制voidprint;private:Node*top;;voidTransform::Transintdintiintmn=0;Node*P;whiled>01;d=d/i;p=newNode;if!np->data=m;2;3;n++;elsep->data=m;4;5;voidTransform::printNode*P;whiletop!=NULLp=top;ifp->data>9cout<<data+55;elsecout<<data;top=p->next;deletep;
阅读以下说明和C函数将应填入n处的字句写在对应栏内[说明]若一个矩阵中的非零元素数目很少且分布没有规律则称之为稀疏矩阵对m行n列的稀疏矩阵M进行转置运算后得到n行m列的矩阵MT如图3-1所示为了压缩稀疏矩阵的存储空间用三元组即元素所在的行号列号和元素值表示稀疏矩阵中的一个非零元素再用一维数组逐行存储稀疏矩阵中的所有非零元素也称为三元组顺序表例如图3-1所示的矩阵M相应的三元组顺序表如表3-1所示其转置矩阵MT的三元组顺序表如表3-2所示函数TransposeMatrixMatrixM的功能是对用三元组顺序表表示的稀疏矩阵M进行转置运算对M实施转置运算时为了将M中的每个非零元素直接存入其转置矩阵MT三元组顺序表的相应位置需先计算M中每一列非零元素的数目即MT中每一行非零元素的数目并记录在向量num中然后根据以下关系计算出矩阵M中每列的第一个非零元素在转置矩阵MT三元组顺序表中的位置cpot[0]=0cpot[j]=cpot[j-1]+num[j-1]/*j为列号*/类型ElemTypeTriple和Matrix定义如下typedefintElemType;typedefstruct/*三元组类型*/intrc;/*矩阵元素的行号列号*/ElemTypee;/*矩阵元素的值*/Triple;typedefstruct/*矩阵的元组三元组顺序表存储结构*/introwscolselements;/*矩阵的行数列数和非零元素数目*/Tripledata[MAXSIZE];Matrix;[C语言函数]intTransposeMatrixMatrixMintjqt;int*num*cpot;MatrixMT;/*MT是M的转置矩阵*/num=int*mallocM.cols*sizeofint;cpot=int*mallocM.cols*sizeofint;if!num||cpotreturnERROR;MT.rows=1;/*设置转置矩阵MT行数列数和非零元素数目*/MT.cols=2;MT.elements=M.elements;ifM.elements>0forq=0;q<M.cols;q++num[q]=0;fort=0;t<M.elements;++t/*计算矩阵M中每一列非零元素数目*/num[M.data[t].c]++;/*计算矩阵M中每列第一个非零元素在其转置矩阵三元组顺序表中的位置*/3;forj=1;j<M.cols;j++cpot[j]=4;/*以下代码完成转置矩阵MT三元组顺序表元素的设置*/fort=0;t<M.elements;t++j=5;/*取矩阵M的一个非零元素的列号存入j*//*q为该非零元素在转置矩阵MT三元组顺序表中的位置下标*/q=cpot[j];MT.data[q].r=M.data[t].c;MT.data[q].c=M.data[t].r;MT.data[q].e=M.data[t].e;++cpot[j];/*计算M中第j列的下一个非零元素的目的位置*//*for*//*if*/freenum;freecpot;/*此处输出矩阵元素代码省略*/returnOK;/*TransposeMatrix*/
阅读以下说明和C程序将应填入n处的字句写在答题纸的对应栏内[说明]下面的程序按照以下规则输出给定名词的复数形式a.若名词以y结尾则删除y并添加iesb.若名词以sch或sh结尾则添加esc.其他所有情况直接添加s[C语言程序]#include<stdio.h>#include<string.h>char*pluralchar*wordintn;char*pstr;n=strlenword;/*求给定单词的长度*/pstr=char*mallocn+3;/*申请给定单词的复数形式存储空间*/if!pstr||n<2returnNULL;strcpypstrword;/*复制给定单词*/if1pstr[n-1]=’i-’;pstr[n]=’e’;pstr[n+1]=’s’;2;elseifpstr[n-1]==’s’||pstr[n-1]==’h’&&3pstr[n]=’e’;pstr[n+1]=’s’;pstr[n+2]=’\0’;elsepstr[n]=’s’;pstr[n+1]=’\0’;4maininti;char*ps;charwc[9][10]=chairdairybosscircusflydogchurchcluedish;fori=0;i<9;i++ps=5printf%s:%s\nwc[i]ps;/*输出单词及其复数形式*/freeps;/*释放空间*/systempause;
阅读以下说明和流程图回答问题将解答填入对应栏[说明]下面的流程图用来完成求字符串t在s中最右边出现的位置其思路是做一个循环以s的每一位作为字符串的开头和t比较如果两字符串的首字母是相同的则继续比下去如果一直到t的最后一个字符也相同则说明在s中找到了一个字符串t如果还没比较到t的最后一个字符就已经出现字符串不等的情况则放弃此次比较开始新一轮的比较当在s中找到一个字符串t时不应停止寻找因为要求的是求t在s中最右边出现位置应先记录这个位置pos然后开始新一轮的寻找若还存在相同的字符串则更新位置的记录直到循环结束输出最近一次保存的位置如果s为空或不包含t则返回-1注返回值用pos表示[*][问题]将流程图的1~5处补充完整
阅读以下函数说明和C语言函数将应填入n处的字句写在对应栏内[说明]函数intpsortinta[]intn实现将含n个整数的数组a[]的不同元素按从小到大顺序存于数组a[]中实现方法是从未确定的元素列中找到最小元素并将a[]的第i最小元素交换至a[i]位置如该最小元素比已确定的最后一个最小元素大则将它接在已确定的元素序列的后面否则忽视该元素[C函数]intpsortinta[]intnintiJkP;fori=0k=0;i<1;i++forj=i+12;j<n;j++ifa[p]>a[j]p=j;ifp!=it=a[p];a[p]=a[i];a[i]=t;if3k++;elseif4<a[i]5=a[i];returnk;inta[]=575643467;mainintkn;fork=0;k<Sizeofa/Sizeofint;k++printf%5da[k];printf/n/n;n=psortasizeofa/sizeofint;fork=0;k<n;k++printf%5da[k];printf/n/n;
[说明]某银行新近开通外汇定期存款业务为方便用户查询不同存款方式下的日利率计算本利特开发了日利率查询及本利计算程序其运行窗口如下图所示用户只要在界面上选择相应的存款方式包括外汇币种存期等便可单击按钮一查询存款日利率若输入一定数量的本金程序还会根据所选择的存期计算并输出本利和在开发过程中选择币种和存期的组合框ComboBox名分别为Combo1和Combo2单旋钮CommandButton个人单位和金融机构分别名为Option1和Option2用于输入本金的文本框TextBox名为Price输出日利率和计算本利和按钮CommandButton分别名为Command1和Command2且已知第i类币种第j类存期之下个人单位与金融机构的存款日利率分别存放于数组元素interestRateij0和interestRateij1中其中ij从0开始计数[VisualBasic代码]DiminterestBate50102AsSingle’通用声明PrivateSubForm_Load’为数组interestRate赋初值EndSub’根据所选择的币种存期等信息确定日利率FunctiongetInterestRateDimstrCurrencystrTimeAsStringijkintDaysAsIntegerstrCurrency=Combo1.TextstrTime=Combo2.TextFori=0ToCombol.ListCount-1IfCombol.Listi=strCurrencyThen1NextForj=0ToCombo2.ListCount-1IfCombo2.Listj=strTimeThen1NextIf2=TrueThenk=0Else:k=1EndIf3=interestRateijkEndFunction’输出日利率PrivateSubCommund1_ClickMsgBox日利率为&getInterestRateEndSub’输出本利和PrivateSubCommand2_ClickDimstrTimeAsStringintDaysAsIntegersngCorpussngResultAsSinglestrTime=Combo2.TextsngCorpus=CSngText1.Text4’计算存款天数以每月30天计Case一个月:intDays=30Case三个月:intDays=90Case六个月:intDays=120EndSelect’计算并输出本利和sngResult=sngCorpus+5MsgBox本利之和为:&sngResultEndSub
[说明]设有一张学生成绩表scores存放在Access数据库Student中其中包括学生编号姓名以及各科目考试成绩下面的应用程序利用ADOData和DataGrid控件实现了对成绩数据的基本管理其操作包括1添加新记录单击添加按钮光标将指向最后一条数据记录在其后编辑好新的数据记录后再单击更新按钮该数据即被加入成绩表2删除记录单击删除按钮将删除当前所指记录其后的数据记录依次上移3更新记录直接编辑某条已有记录再单击更新按钮将更新成绩表4记录排序选中单列字段后单击排序按钮记录集将按该字段升序排列程序的运行界面为在开发过程中数据库连接对象使用了名为Adodc1的ADOData控件数据显示区域使用了名DataGnd1的DataGrid控件界面上从左到右各操作按钮分别取名为CmdAddCmdDelCmdUpdateCmdRefreshCmdSort和CmdExit[VisualBasic代码]DimconndatabasetableAsStringPrivateSubForm_Loaddatabase=E:/Student.mdb’设置要访问的数据库conn=Provider=Microsoft.Jet.OLEDB.4.0;DataSouse=&databaseAdodc1.ConnectionString=conn’设置连接字符串table=scoresAdode1.1=table’设置所要访问的数据表SetDataGrid1.2=Adodc1EndSubPrivateSubCmdAdd_Click’添加按钮的单击事件响应过程Adodc1.Recordset.3EndSubPrivateSubCmdDel_Click’删除按钮的单击事件响应过程Adodc1.Recordset.DeleteAdodc1.Reeordset.MoveNextEndSubPrivateSubCmdUpdate_Click’更新按钮的单击事件响应过程Adode1.Reeordset.UpdateBatchadAffectAllEndSubPrivateSubCmdRefresh_Cliek’刷新按钮的单击事件响应过程Adodc1.RefreshEndSubPrivateSubCmdSort_Cliek’排序按钮的单击事件响应过程IfDataGrid1.SelStartCol<0OrDataGridl.SelStartCol4DataGrid1.SelEndColThenMsgBox请选择某一字段列!ExitSubEndIfAdodc1.RecordSource=SELECT*FROM&table&orderby&_DataGrid1.Columns5.DataFieldAdodc1.RefreshEndSubPrivateSubCmdExit_Click’退出按钮的单击事件响应过程EndEndSub
[说明]邻接表是图的一种顺序存储与链式存储结合的存储方法其思想是对于图G中的每个顶点vi将所有邻接于vi的顶点vj连成一个单链表这个单链表就称为顶点vi的邻接表其中表头称作顶点表结点VertexNode其余结点称作边表结点EdgeNode将所有的顶点表结点放到数组中就构成了图的邻接表AdjList邻接表表示的形式描述如下#defineMaxVerNum100/*最大顶点数为100*/typedefstructnode/*边表结点*/intadjvex;/*邻接点域*/structnode*next;/*指向下一个边表结点的指针域*/EdgeNode;typedefstructvnode/*顶点表结点*/intvertex;/*顶点域*/EdgeNode*firstedge;/*边表头指针*/VertexNode;typedefVertexNodeAdjList[MaxVerNum];/*AdjList是邻接表类型*/typedefstructAdjListadjlist;/*邻接表*/intn;/*顶点数*/ALGraph;/*ALGraph是以邻接表方式存储的图类型*/深度优先搜索遍历类似于树的先根遍历是树的先根遍历的推广下面的函数利用递归算法对以邻接表形式存储的图进行深度优先搜索设初始状态是图中所有顶点未曾被访问算法从某顶点v出发访问此顶点然后依次从v的邻接点出发进行搜索直至所有与v相连的顶点都被访问若图中尚有顶点未被访问则选取这样的一个点作起始点重复上述过程直至对图的搜索完成程序中的整型数组visited[]的作用是标记顶点i是否已被访问[函数]voidDFSTraverseALALGraph*G/*深度优先搜索以邻接表存储的图G*/inti;fori=0;i<1;i++visited[i]=0;fori=0;i<1;i++if2DFSALGi;voidDFSALALGraph*Ginti/*从Vi出发对邻接表存储的图G进行搜索*/EdgeNode*p;3;p=4;whilep!=NULL/*依次搜索Vi的邻接点Vj*/if!visited[5]DFSALG5;p=p->next;/*找Vi的下一个邻接点*/
阅读以下说明和流程图回答问题将解答填入对应栏[说明]下面的流程图用来完成计算一组数组中的中值其方法是将数组中的一个值与其他值比较并计算大于等于被比较数的数值的个数以及小于等于被比较数的数值的个数如果两数都大于n/2则已经找到了中值否则继续之前的步骤注流程中循环开始的说明按照循环变量循环初值循环终值增量格式描述[*][问题]将流程图的1~5处补充完整
阅读以下说明和流程图填补流程图中的空缺1~9将解答填入对应栏内[说明]假设数组A中的各元素A1A2AM已经按从小到大排序M≥1数组B中的各元素B1B2BN也已经按从小到大排序N≥1执行下面的流程图后可以将数组A与数组B中所有的元素全都存入数组C中且按从小到大排序注意序列中相同的数全部保留并不计排列顺序例如设数组A中有元素25679数组B中有元素2347则数组C中将有元素223456779[流程图]
阅读以下说明和C函数将应填入n处的字句写在对应栏内[说明]若一个矩阵中的非零元素数目很少且分布没有规律则称之为稀疏矩阵对m行n列的稀疏矩阵M进行转置运算后得到n行m列的矩阵MT如图3-1所示为了压缩稀疏矩阵的存储空间用三元组即元素所在的行号列号和元素值表示稀疏矩阵中的一个非零元素再用一维数组逐行存储稀疏矩阵中的所有非零元素也称为三元组顺序表例如图3-1所示的矩阵M相应的三元组顺序表如表3-1所示其转置矩阵MT的三元组顺序表如表3-2所示函数TransposeMatrixMatrixM的功能是对用三元组顺序表表示的稀疏矩阵M进行转置运算对M实施转置运算时为了将M中的每个非零元素直接存入其转置矩阵MT三元组顺序表的相应位置需先计算M中每一列非零元素的数目即MT中每一行非零元素的数目并记录在向量num中然后根据以下关系计算出矩阵M中每列的第一个非零元素在转置矩阵MT三元组顺序表中的位置cpot[0]=0cpot[j]=cpot[j-1]+num[j-1]/*j为列号*/类型ElemTypeTriple和Matrix定义如下typedefintElemType;typedefstruct/*三元组类型*/intrc;/*矩阵元素的行号列号*/ElemTypee;/*矩阵元素的值*/Triple;typedefstruct/*矩阵的元组三元组顺序表存储结构*/introwscolselements;/*矩阵的行数列数和非零元素数目*/Tripledata[MAXSIZE];Matrix;[C语言函数]intTransposeMatrixMatrixMintjqt;int*num*cpot;MatrixMT;/*MT是M的转置矩阵*/num=int*mallocM.cols*sizeofint;cpot=int*mallocM.cols*sizeofint;if!num||cpotreturnERROR;MT.rows=1;/*设置转置矩阵MT行数列数和非零元素数目*/MT.cols=2;MT.elements=M.elements;ifM.elements>0forq=0;q<M.cols;q++num[q]=0;fort=0;t<M.elements;++t/*计算矩阵M中每一列非零元素数目*/num[M.data[t].c]++;/*计算矩阵M中每列第一个非零元素在其转置矩阵三元组顺序表中的位置*/3;forj=1;j<M.cols;j++cpot[j]=4;/*以下代码完成转置矩阵MT三元组顺序表元素的设置*/fort=0;t<M.elements;t++j=5;/*取矩阵M的一个非零元素的列号存入j*//*q为该非零元素在转置矩阵MT三元组顺序表中的位置下标*/q=cpot[j];MT.data[q].r=M.data[t].c;MT.data[q].c=M.data[t].r;MT.data[q].e=M.data[t].e;++cpot[j];/*计算M中第j列的下一个非零元素的目的位置*//*for*//*if*/freenum;freecpot;/*此处输出矩阵元素代码省略*/returnOK;/*TransposeMatrix*/
热门题库
更多
初级程序员
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术
移动通信专业技术
有线传输专业技术