首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
[说明] 以下[C程序]所完成的功能是在3X3方格中填入数字1~N(N≥10)内的某9个互不相同的整数,使所有相邻两个方格内的两个整数之和为质数。系统输出满足该要求的所有填法。系统的部分输出结果如图...
查看本题答案
包含此试题的试卷
初级程序员《问答》真题及答案
点击查看
你可能感兴趣的试题
[说明] 以下[C程序]所完成的功能是在3X3方格中填入数字1~NN≥10内的某9个互不相同的整数
如图在3×3的方格内填写了一些代数式和数1在图中各行各列及对角线上三个数之和都相等请你求出xy的值2
[说明]以下[C程序]所完成的功能是在3X3方格中填入数字1~NN≥10内的某9个互不相同的整数使所
安卓手机的图形锁九宫格是3X3的点阵按次序连接数个点从而达到锁定/解锁的功能 最少需要连接4个点最
2010吉林模拟20如图8-3-5在3×3的方格内填写了一些代数式和数.图8-3-51在图8-3-5
如图在3x3方格中分别以AEF为圆心半径为321圆心角都是900的三段圆弧与正方形ABCD的边界围
3:2
5:3
8:5
9:4
[说明]以下[C程序]所完成的功能是在3X3方格中填入数字1~NN≥10内的某9个互不相同的整数使所
2015年·福州三中最后模拟如图所示2×2方格在每一个方格中填入一个数字数字可以是123中的任何一个
以下程序的功能是在立即窗口中输出100到200之间所有的素数并统计输出素数的个数请在程序空白处
[说明]本程序在3×3方格中填入1到10以内9个互不相等的整数使所有相邻两个方格内的两个整数之和为质
如果已经在Al到A6的6个单元格中填入了6个数要求在B1单元格中运用求和函数计算它们总和的3倍以下正
在B1单元格中填入=SUM×3
在B1单元格中填入=3SUM×(A1:A6)
在B1单元格中填入=SUM(A1:A6)*3
必须先在其他(例如B2)单元格中计算出总和SUM(A1:A6),然后在B1单元格中填入=3×B2
【说明】本程序在3×3方格中填入1~NN≥10内的某9个互不相同的整数使所有相邻两个方格内的两个整数
如图所示2×2方格在每一个方格中填入一个数字数字可以是1234中的任何一个允许重复.若填入
方格的数字大于
方格的数字,则不同的填法共有( ) A.192种B.128种
96种
12种
[说明] 本程序在3×3方格中填入1到10以内9个互不相等的整数使所有相邻两个方格内的两个整数之和
如图所示在3×3方格内填入恰当的数后可使每行每列以及两条对角线上的三个数的和都相等问方格表内X的值是
2
9
14
27
如图在3×3的方格内填写了一些代数式和数.1在图中各行各列及对角线上三个数之和都相等请你求出xy的值
将连续n2n≥3个正整数填入n×n方格中使其每行每列每条对角线上的数的和都相等这个正方形叫做n阶幻方
44
42
40
36
如图所示在3×3方格内填入恰当的数后可使每行每列以及两条对角线上的三个数的和都相等问方格表内X的值
2
9
14
27
【说明】 本程序在3×3方格中填入1~NN≥10内的某9个互不相同的整数使所有相邻两个方格内的两个
以下程序的功能是在立即窗口中输出100到200之间所有的素数并统计输出素数的个数请在程序空白处
热门试题
更多
[说明]已知以下C++程序运行时的输出结果如下1:11:11:1[C++程序]01#include<iostream>02usingnamespacestd;03classStock04protect:051;06Stockintnintpr=107shares=n;share_val=pr;08;09void~Stock;10public:11//成员函数12voidoutput132<<shares<<:<<share_val<<endl;1415private:16//成员变量17intshares;18intshare_val;19;2021voidmain22Stocka1;a.output23Stockb;b.output24Stockc=Stock;c.output251.[问题1]请根据C++程序运行时的输出结果将代码中12空缺处的内容补充完整
【说明】有数组A44把1到16个整数分别按顺序放入A11A14A21A24A31A34A41A44中下面的流程图用来获取数据并求出两条对角线元素之积【流程图】
阅读以下说明和C++代码将解答写入对应栏内[说明]类Stock的定义中有三处错误分别在代码的第040610行请补齐下述代码中的空缺1~3修改错误并给出修改后该行的完整代码最后完善程序运行后的输出结果[C++程序]01#include<iostream.h>02usingnamespacestd;03classStock04protected:05Stockshares=0;share_val=0.0;Output;06Stockintn=0doublepr=3.5:1//初始化shares值为n07share_val=pr;08Output;09;10void~Stock;11voidOutputcout<<shares<<’;’<<shareval<<endl;12public:13//成员函数14private:15//成员变量16intshares;17doubleshare_val;18;1920voidmain//构造三个Stock对象abC21Stocka1;22Stockb;23StockCStock;24//其他代码省略且代码无输出25程序运行后的输出结果为1:3.523
阅读以下说明和算法完善算法并回答问题将解答写在对应栏内[说明]假设以二维数组G[1..m1..n]表示一幅图像各像素的颜色则G[ij]表示区域中点ij]处的颜色颜色值为0到k的整数下面的算法将指定点i0j0所在的同色邻接区域的颜色置换为给定的颜色值约定所有与点i0j0同色的上下左右可连通的点组成同色邻接区域例如一幅8×9像素的图像如图1-1所示设用户指定点35其颜色值为0此时其上方25下方45右方36邻接点的颜色值都为0因此这些点属于点35所在的同色邻接区域再从上下左右四个方向进行扩展可得出该同色邻接区域的其他点见图1-1中的阴影部分将上述同色区域的颜色替换为颜色值7所得的新图像如图1-2所示[算法]输入矩阵G点的坐标i0j0新颜色值newcolor输出点i0j0所在同色邻接区域的颜色置换为newcolor之后的矩阵G算法步骤为规范算法规定该算法只在第七步后结束第一步若点i0j0的颜色值与新颜色值newcolor相同则1第二步点i0j0的颜色值→oldcolor创建栈S并将点坐标i0j0入栈第三步若2则转第七步第四步栈顶元素出栈→xy并3第五步1若点xy-1在图像中且G[xy-1]等于oldcolor则xy-1入栈S2若点xy+1在图像中且G[xy+1]等于oldcolor则xy+1入栈S3若点x-1y在图像中且G[x-1y]等于oldcolor则x-1y入栈S4若点x+1y在图像中且G[x+1y等于oldcolor则x+1y入栈S第六步转4第七步算法结束[问题]是否可以将算法中的栈换成队列回答5
[说明]某VisualBasic应用程序用于监测某种锅炉设备内液面高度0~50cm其运行窗口界面如图4-16所示图4-16某锅炉设备液面高度显示界面在图4-16中设计了一个高度计矩形形状shpMeter及其中指示当前液面高度的水银柱矩形形状shpT文字标签标记了液面高度的刻度另有一个图片框picCurve用于动态描述检测到的液面高度曲线用户见到的曲线与水银柱等高变化[开始]CmdStart按钮用于启动液面高度检测命令按钮暂停CmdStop用于暂停液面高度检测液面高度计形状控件shpMeter是固定的其属性FillsStyle默认为透明矩形形状shpT水银柱的Visible属性初始设置为不可见属性Filltype设置为Solid实心FillColor设置为红色图片框picCurve的属性AutoRedraw设置为True程序设计过程中创建了一个定时器TimT属性Enabled初始设置为False不可用属性Interval定时间隔的值应设置为1为模拟锅炉设备液面高度的检测程序中利用了01之间均匀分布的伪随机数获得[050]之间的随机液面高度WH为便于在图片框picCurve中绘制曲线程序中对该图片框建立了如下坐标系统图片框的左上角定义为原点00水平向右方向为X轴垂直向上方向为Y轴右下角坐标为50.200为了便于观察记录的液面高度值图片框中从上到下创建了7条水平虚线Lsii=016并在程序中按等间隔排列进行位置设置应用程序中每隔3秒算出曲线点xy其中x=O12再用直线段连接各相邻曲线点形成液面高度曲线[VisualBasic程序代码]Dim2ASInteger’试题全局变量PrivateSubCmdStart_ClickTimT.Enabled=3ShpT.Visible=TrueEndSubPrivateSubCmdStop_ClickTimT.Enabled=FalseEndSubPrivateSubForm_LoadDimiSAsIntegerPicCurve.Scale00-50200’设置图片框坐标系左上角-右下角S=25’H等于图片框高度的1/8Fori=0To6’设置7条水平线Lsi的位置Lsi.X1=0’Lsi起点横坐标Lsi.Y1=4’Lsi起点纵坐标Lsi.X2=50’Lsi终点横坐标Lsi.Y2=Lsi.Y1’Lsi终点纵坐标Lsi.BorderColor=&H00FCFCFC’设置水平线颜色5x=0’设置曲线坐标初值EndSubPrivateSubtimT_TimerDimWHHAsInteger’WH为实时液面高度H为图片框中液面高度点显示高度WH=IntRnd*51’随机模拟产生锅炉内液面高度0~50cmH=ShpMeter.Height*6’算出水银柱的高度ShpT.Top=7’设置水银柱顶部位置ShpT.Height=H’设置水银柱的高度’绘制液面高度曲线y=8’算出曲上当前点的纵坐标Ifx=51Then’当超出图片框时PicCurve.Cls’清框图片框内以前画的曲线9ElseIfx>0Then’除左边点外PicCurve.Linex-1Lasty-xyvbRed’由前1点到当前点画红色线段EndIfx=x+1’准备下一点坐标Lasty=y’保存当前坐标供下次使用EndSub1.[问题1]请根据[说明]和图4-16所示的显示结果将[说明]中1空缺处的内容和[VisualBasic程序]中2~9空缺处的程序语句填写完整
阅读以下说明和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个座位顾客买票时可以提出任意有效的座号请求下面用二维数组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;
[说明]某文件管理系统的图片浏览器如图3-19所示运行程序时用户只要通过驱动器列表框目录列表框和文件列表框选择文本文件所在的驱动器文件夹及相应的文件名后在图像框中将显示出相应的文件图像在开发过程中假设驱动器列表框名为drvFile目录列表框名为dirFile文件列表框名为filFile选择文件类型组合框名为cboFile图像框名为imgShow图3-19图片浏览器[VisualBasic程序]PrivateSubForm_LoadimgShow.Stretch=TruecboFile.Addltem位图文件*.bmpcboFile.Addltem图标文件*.icocboFile.Addltem图元文件*.wmfcboFile.AddltemJPEG文件*.jpgcboFile.AddltemGIF文件*.gifcboFile.ListIndex=01EndSubPrivateSubdrvFile_Change2EndSubPrivateSubdirFile_Change3EndSubPrivateSubcboFile_Click4Case0filFile.Pattern=*.bmpCase1filFile.Pattern=*.icoCase2filFile.Pattern=*.wmfCase3filFile.Pattern=*.jpg.Case4filFile.Pattern=*.gifEndSelectEndSubPrivateSubfilFile_ClickIf5ThenimgShow.Picture=LoadPieturefilFile.Path+filFile.FileNameElseimgShow.Picture=LoadPicture6+/+7EndIfEndSub1.[问题1]请根据[说明]和图3-19的显示结果从以下备选答案中为程序1~7空缺处选择正确的答案[备选答案]A.filFile.pathB.dirFile.Path=drvFile.DriveC.RightfilFile.Path1=/D.filFile.Pattern=*.bmpE.filFile.Path=dirFile.PathF.filFile.FileNameG.SelectCasecboFile.ListIndex
[说明]图4-8的流程图所描述的算法功能是将给定的原字符串中的所有前部空白和尾部空白都删除但保留非空字符例如原字符串FileName处理变成FileName图4-9图4-10和图4-11分别详细描述了图4-8流程图中的处理框ABC假设原字符串中的各个字符依次存放在字符数组ch的各元素ch1ch2chn中字符常量KB表示空白字符图4-8所示的流程图的处理过程是先从头开始找出该字符串中的第一个非空白字符chi再从串尾开始向前找出位于最末位的非空白字符chj然后将chichj依次送入ch1ch2中如果字符串中没有字符或全是空白字符则输出相应的说明在图4-8流程图中strlen是取字符串长度函数图4-8算法总流程图图4-9处理框A对应的流程图图4-10处理框B对应的流程图图4-11处理框C对应的流程图1.[问题1]请将图4-9图4-10和图4-11流程图中1~4空缺处的内容填写完整
【说明】实现连通图G的深度优先遍历从顶点v出发的非递归过程【算法】第一步首先访问连通图G的指定起始顶点v第二步从V出发访问一个与v1p再从顶点P出发访问与p2顶点q然后从q出发重复上述过程直到找不到存在3的邻接顶点为止第三步回退到尚有4顶点从该顶点出发重复第二三步直到所有被访问过的顶点的邻接点都已被访问为止因此在这个算法中应设一个栈保存被5的顶点以便回溯查找被访问过顶点的未被访问过的邻接点
阅读以下说明和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;
阅读以下说明和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*/
[说明]某文件管理系统的图片浏览器如图3-19所示运行程序时用户只要通过驱动器列表框目录列表框和文件列表框选择文本文件所在的驱动器文件夹及相应的文件名后在图像框中将显示出相应的文件图像在开发过程中假设驱动器列表框名为drvFile目录列表框名为dirFile文件列表框名为filFile选择文件类型组合框名为cboFile图像框名为imgShow图3-19图片浏览器[VisualBasic程序]PrivateSubForm_LoadimgShow.Stretch=TruecboFile.Addltem位图文件*.bmpcboFile.Addltem图标文件*.icocboFile.Addltem图元文件*.wmfcboFile.AddltemJPEG文件*.jpgcboFile.AddltemGIF文件*.gifcboFile.ListIndex=01EndSubPrivateSubdrvFile_Change2EndSubPrivateSubdirFile_Change3EndSubPrivateSubcboFile_Click4Case0filFile.Pattern=*.bmpCase1filFile.Pattern=*.icoCase2filFile.Pattern=*.wmfCase3filFile.Pattern=*.jpg.Case4filFile.Pattern=*.gifEndSelectEndSubPrivateSubfilFile_ClickIf5ThenimgShow.Picture=LoadPieturefilFile.Path+filFile.FileNameElseimgShow.Picture=LoadPicture6+/+7EndIfEndSub1.[问题1]请根据[说明]和图3-19的显示结果从以下备选答案中为程序1~7空缺处选择正确的答案[备选答案]A.filFile.pathB.dirFile.Path=drvFile.DriveC.RightfilFile.Path1=/D.filFile.Pattern=*.bmpE.filFile.Path=dirFile.PathF.filFile.FileNameG.SelectCasecboFile.ListIndex
【说明】在矩形类中重载关系运算符>=采用友元比较的依据是矩形面积的大小重载算术运算符+=采用成员函数更新矩形对象的长与宽分别加上形参矩形的长与宽重载算术运算符+利用构造函数采用友元【代码】classCrectintlengthwitdth;public;CRectintlintwlength=l;width=w;friendintoperator>=CRect&r1CRect&r2return1>=2;//比较面积voidoperator+=CRect&r3;//求长4;//求宽friendoperater+CRect&r1CRect&r2returnCRect5;//利用构造函数
阅读以下说明和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;
【说明】下列流程图用泰勒Taylor展开式y=ex=1+x+x2/2!+x3/3!++xn/n!+计算并打印ex的近似值其中用ε>0表示误差要求【流程图】
阅读以下说明和算法完善算法并回答问题将解答写在对应栏内[说明]假设以二维数组G[1..m1..n]表示一幅图像各像素的颜色则G[ij]表示区域中点ij]处的颜色颜色值为0到k的整数下面的算法将指定点i0j0所在的同色邻接区域的颜色置换为给定的颜色值约定所有与点i0j0同色的上下左右可连通的点组成同色邻接区域例如一幅8×9像素的图像如图1-1所示设用户指定点35其颜色值为0此时其上方25下方45右方36邻接点的颜色值都为0因此这些点属于点35所在的同色邻接区域再从上下左右四个方向进行扩展可得出该同色邻接区域的其他点见图1-1中的阴影部分将上述同色区域的颜色替换为颜色值7所得的新图像如图1-2所示[算法]输入矩阵G点的坐标i0j0新颜色值newcolor输出点i0j0所在同色邻接区域的颜色置换为newcolor之后的矩阵G算法步骤为规范算法规定该算法只在第七步后结束第一步若点i0j0的颜色值与新颜色值newcolor相同则1第二步点i0j0的颜色值→oldcolor创建栈S并将点坐标i0j0入栈第三步若2则转第七步第四步栈顶元素出栈→xy并3第五步1若点xy-1在图像中且G[xy-1]等于oldcolor则xy-1入栈S2若点xy+1在图像中且G[xy+1]等于oldcolor则xy+1入栈S3若点x-1y在图像中且G[x-1y]等于oldcolor则x-1y入栈S4若点x+1y在图像中且G[x+1y等于oldcolor则x+1y入栈S第六步转4第七步算法结束[问题]是否可以将算法中的栈换成队列回答5
【说明】有n个整数使其前面各数顺序向后移m个位置最后m个数变成最前面的m个数【函数】mainintnumber[20]nmi;printfthetotalnumbersis:;scanf%d&n;printfbackm:;scanf%d&m;fori=0;i<=n-1;iscanf%d&number[i];1;fori=0;i<=n-1;iprintf%dnumber[i];movearraynmintnmarray[20];int*parray_end;array_end=2;forp=array[n-1];3;p--*p=4;*array=array_end;m--;ifm>05;
[说明]已知以下C++程序运行时的输出结果如下1:11:11:1[C++程序]01#include<iostream>02usingnamespacestd;03classStock04protect:051;06Stockintnintpr=107shares=n;share_val=pr;08;09void~Stock;10public:11//成员函数12voidoutput132<<shares<<:<<share_val<<endl;1415private:16//成员变量17intshares;18intshare_val;19;2021voidmain22Stocka1;
【说明】本题中的函数encode和decode分别实现对字符串的变换和复原其中变换函数encode顺序考查已知字符串的字符按以下规则逐组生成新字符串1若已知字符串的当前字符不是数字字符则将该字符复制在新字符串中2若已知字符串的当前字符是一个数字字符且它之后没有后继字符则简单地将它复制到新字符串中3若已知字符串的当前字符是一个数字字符并且还有后继字符设该数字字符的面值为n则将它的后继字符包括后继字符是一个数字字符重复复制n+1次到新字符串中4以上述一次变换为一组在不同组之间另插入一个下划线_用于分隔例如encode函数对字符串26a3t2的变换结果为666_a_tttt_2复原函数decode做与变换函数encode相反的工作即复制不连续相同的单个字符而将一组连续相同的字符不超过10个变换成一个用于表示重复次数的数字符和一个重复出现的字符并在复原过程中略过变换函数为不同组之间添加的一个下划线字符假定调用变换函数encode时的已知字符串中不含下划线字符【函数】intencodechar*instrchar*outstrchar*ip*opc;intkn;ip=instr;op=outstr;while*ipif*ip>=’0’&&*ip<=’9’&&*ip+1n=1;c=2;fork=0;k<n;k++*op++=c;else3;*op++=’_’;ip++;ifop>outstrop--;4;returnop-outstr;intdecodechar*instrchar*outstrchar*ip*opc;intn;ip=instr;op=outstr;while*ipc=*ip;n=0;while*ip==c&&n<10ip++;n++;if5*op++=’0’+n-1;*op++=c;if6ip++;*op=’/0’;returnop-outstr;
阅读以下说明和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道解答有效
[说明]图4-8的流程图所描述的算法功能是将给定的原字符串中的所有前部空白和尾部空白都删除但保留非空字符例如原字符串FileName处理变成FileName图4-9图4-10和图4-11分别详细描述了图4-8流程图中的处理框ABC假设原字符串中的各个字符依次存放在字符数组ch的各元素ch1ch2chn中字符常量KB表示空白字符图4-8所示的流程图的处理过程是先从头开始找出该字符串中的第一个非空白字符chi再从串尾开始向前找出位于最末位的非空白字符chj然后将chichj依次送入ch1ch2中如果字符串中没有字符或全是空白字符则输出相应的说明在图4-8流程图中strlen是取字符串长度函数图4-8算法总流程图图4-9处理框A对应的流程图图4-10处理框B对应的流程图图4-11处理框C对应的流程图1.[问题1]请将图4-9图4-10和图4-11流程图中1~4空缺处的内容填写完整
【说明】对20个数进行排序可以利用选择法即从后19个比较过程中选择一个最小的与第一个元素交换依次类推即用第二个元素与后18个进行比较并进行交换【函数】#defineN20mainintijmintema[N];printfpleaseinputtwentynum:/n;fori=0;i<N;iprintfa[%d]=i;scanf%d&a[i];printf/n;fori=0;i<N;iprintfa[i];printf/n;fori=0;1;imin=2;forj=3;j<N;j++if4min=j;tem=a[i];5;a[min]=tem;printfAftersorted/n;fori=0;i<N;i++printfa[i];
阅读以下说明和算法完善算法并回答问题将解答写在对应栏内[说明]假设以二维数组G[1..m1..n]表示一幅图像各像素的颜色则G[ij]表示区域中点ij]处的颜色颜色值为0到k的整数下面的算法将指定点i0j0所在的同色邻接区域的颜色置换为给定的颜色值约定所有与点i0j0同色的上下左右可连通的点组成同色邻接区域例如一幅8×9像素的图像如图1-1所示设用户指定点35其颜色值为0此时其上方25下方45右方36邻接点的颜色值都为0因此这些点属于点35所在的同色邻接区域再从上下左右四个方向进行扩展可得出该同色邻接区域的其他点见图1-1中的阴影部分将上述同色区域的颜色替换为颜色值7所得的新图像如图1-2所示[算法]输入矩阵G点的坐标i0j0新颜色值newcolor输出点i0j0所在同色邻接区域的颜色置换为newcolor之后的矩阵G算法步骤为规范算法规定该算法只在第七步后结束第一步若点i0j0的颜色值与新颜色值newcolor相同则1第二步点i0j0的颜色值→oldcolor创建栈S并将点坐标i0j0入栈第三步若2则转第七步第四步栈顶元素出栈→xy并3第五步1若点xy-1在图像中且G[xy-1]等于oldcolor则xy-1入栈S2若点xy+1在图像中且G[xy+1]等于oldcolor则xy+1入栈S3若点x-1y在图像中且G[x-1y]等于oldcolor则x-1y入栈S4若点x+1y在图像中且G[x+1y等于oldcolor则x+1y入栈S第六步转4第七步算法结束[问题]是否可以将算法中的栈换成队列回答5
【说明】在下面程序横线处填上适当的字句3个2空填的是一样的使其输出结果为x=5x=6y=7x=8z=9【程序】#include<iostream.h>classX1intx;1;X1intxx=0x=xx;2voidOutputcout<<x=<<x<<end;;3Y1:publicX1inty;public:Y1intxx=0intyy=0;X1xxy=yy;2voidOutput4Output;cout<<y=<<y<<endl;;classZ1:publicX1intz:5;Z1intxx=0intzz=0:X1xxz=zz;2voidOutputX1∷Output;cout<<z=<<z<<endl;;voidmainX1a5;Y1b67;Z1c89;X1*p[3]=&a&b&c;Forinti=0;i<3;i++p[i]->Output;cout<<endl;
阅读以下函数说明和C语言函数将应填入n处的字句写在对应栏内[说明]已知一棵二叉树用二叉链表存储t指向根结点p指向树中任一结点下列算法为输出从t到P之间路径上的结点[C程序]#defineMaxsize1000typedefstructnodeTelemTypedata;structnode*1child*rchild;BiNode*BiTree;voidPathBiTreetBiNode*PBiTree*stack[Maxsize]*stackl[Maxsize]*q;inttag[Maxsize]top=0topl;q=t;/*通过先序遍历发现P*/dowhileq!=NULL&&q!=p/*扫描左孩子且相应的结点不为P*/1;stack[top]=q;tag[top]=0;2;iftop>0ifstack[top]==Pbreak;/*找到P栈底到栈顶为t到P*/iftag[top]==1top--;elseq=stack[top];q=q->rchild;tag[top]=1;3;top--;topl=0;whiletop>0q=stack[top];/*反向打印准备*/topl++;4;top--;while5/*打印栈的内容*/q=stackl[topl];printfq->data;topl--;
阅读以下说明和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处的字句写在对应栏内[说明]若一个矩阵中的非零元素数目很少且分布没有规律则称之为稀疏矩阵对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*/
阅读以下说明和流程图回答问题将解答填入对应栏[说明]本流程图实现采用递归函数来求一个整数数组中从元素0到元素n中的最小值该算法思想是这样的首先我们假设有一个求数组中最小元素的函数然后在求某一具有n的元素的数组的最小值时只要求将前n-1的元素的最小值与第n个元素比较即可不断地重复这一过程直到数组中只剩下一个元素那么它必定是最小值注intminintXinty为返回两数中最小数的函数intminInArrayinta[]intn为返回数组中最小数的函数minA为数组中最小值[*][问题l]将流程图的1~4处补充完整[问题2]min函数的定义为5
【说明】冒泡排序算法作为Orderedlist<Tsize>类的成员函数last是有序表的元素个数template<typenameTintsize>voidOrderedlist<Tsize>∷BubbleSortboolnoswap;//交换标志intij;Ttemp;fori=0;i<last;i++noswap=1;forj=2;3;4//从下往上冒泡ifslist[j]<slist[j-1]temp=slist[j];slist[j]=slist[j-1];slist[j-1]=temp;noswap=5;ifnoswapbreak;
热门题库
更多
初级程序员
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术
移动通信专业技术
有线传输专业技术