首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
深度为5的二叉树至多有()个结点。
查看本题答案
包含此试题的试卷
初级程序员《单项选择》真题及答案
点击查看
你可能感兴趣的试题
一个深度为6的二叉树至多有个结点对一个有a个结点b个树叶深度为h的满二叉树有 对一个有a个结
b=a +h
b=a-h
b=[a/2]+1
h=In a
下面关于二叉树的基本性质说明错误的是______
在二叉树的第k层上,最多有2
k
(k≥1)个结点
深度为m的二叉树最多有2
m
-1(m≥1)个结点
深度为0的结点(即叶子结点)总是比深度为2的结点多一个
具有n个结点的二叉树,其深度至少为[log
2
n]+1,其中[log
2
n]表示取不大于log
2
n的最大整数
下面关于二叉树的基本性质说明错误的是______
在二叉树的第k层上,最多有2
k
(k≥1)个结点
深度为m的二叉树最多有2
m
-1(m≥1)个结点
深度为0的结点(即叶子结点)总是比深度为2的结点多一个
具有n个结点的二叉树,其深度至少为[log
2
n]+1,其中[log
2
n]表示取不大于log
2
n的最大整数
深度为k的二叉树中至多含有【1】个结点k>=1
深度为k的二叉树至多有______
2k个结点
2
k-1
个结点
2K
-1
结点
2
k-1
-1个结点
当k≥1时高度为k的二叉树至多有2个结点
一个深度为6的二叉树至多有个结点对一个有a个结点b个树叶深度为h的满二叉树有 一个深度为6的
64
63
32
31
要求二叉树按二叉链表形式存储并且1写一个建立二叉树的算法2写一个判别给定的二叉树是否是完全二叉树的算
试计算深度为5的二叉树至多有多少个结点
深度为5的二叉树最多有______个结点
二叉树的深度为k则二叉树最多有个结点
2k
2k-1
2k-1
2k-1
高度为5的二叉树最多有______个结点
下列叙述中不正确的是
堆是一种满二叉树
具有n个结点的完全二叉树的深度为(log
2
n)+1
在二叉树的第i层上至多有2
i-1
个结点
二叉树是一种有序树
按照二叉树的定义深度为5的二叉树至多有______个结点
16
32
10
31
深度为6根的层次为1的二叉树至多有个结点
64
32
31
63
深度为nn>0的二叉树最多有[1]个结点
二叉树第五层上至多有个结点
32
16
14
8
深度为5的二叉树至多有40个结点
16
32
31
10
若深度为5的完全二叉树的第5层有3个叶结点则该二叉树一共有[3]个结点
热门试题
更多
[函数2.1说明]Fibonacci数列中头两个数均为1从第三个数开始每个数等于前两个数之和下述程序计算Fibonacci数列中前15个数并以每行5个数的格式输出[函数2.1]#include<stdio.h>mainintiff1=1f2=1;printf%5d%5df1f2;fori=3;i<=15;i++f=1;printf%5df;if2==0printf/n;f1=12;3;[试题一流程图][函数2.2说明]函数funchar*str1char*str2的功能是将字符串str2拼接到str1之后[函数2.2]funchar*str1char*str2intij;fori=0;str1[i]!=’/0’;i++;forj=0;str2[j]!=’/0’;j++4;5;
[说明]本程序的功能是给公司的员工TomJackGreen增加薪水三人的职位分别是programmerManagerCEO程序由6个类组成WorkerTest是主类programmerManagerCEO三个类薪水增加的规则是programmer的涨幅是5%Manager的是10%CEO也是Manager但是它除了有Manager的涨幅还有1000元的bonus接口SalaryRaise提供了一个增加薪水的方法raise[java程序]publicclassWorkerTestpublicWorkerTestpublicstaticvoidmainString[]argsProgrammerprogrammer=newProgrammerTom3000;Managermanager=newManagerJack4000;CEOceo=newCEOGreen4000;Worker[]worker=newWorker[3];programmerraise;managerraise;ceo.raise;worker[0]=programmer;worker[1]=manager;worker[2]=ceo;forinti=0;i<workerlength;i++System.out.prinflnName:+worker[i].getName+/tSalary:+worker[i].getSalary;publicinterfaceSalaryRaisevoidraise;publicclassWorkerpublicStringname;publicdouble1;publicWorkerpublicStringgetNamereturnname;publicvoidsetNameStringnamethis.name=name;publicdoublegetSalaryreturnsalary;publicvoidsetSalarydoublesalarythis.salary=salary;publicclassProgrammerextendsWorkerimplements2publicProgrammerpublicvoidraisedoublepets=0.05;doublesala=this.getSalary*1+pers;this.setSalarysala;publicProgrammerSiringnamedoublesalarytthis.name=name;this.salary=salary;publicclassManagerextends3implementsSalaryRaisepublicManagerpublicManagerStringnamedoublesalarythis.name=name;this.salary=salary;publicvoidraisedoublepets=0.1;doublesala=this.getSalary*1+pers;this.setSalarysala;publicclassCEOextendsManagerimplementsSalaryRaisepublicCEOpublicCEOStringnamedoublesalarythis.name=name;this.salary=salary;publicvoidraisedoublebonus=1000;4;doublesala=this.getSalary;5;this.setSalarysala;
[说明]字符组合程序界面如图示在文本框Text1中输入若干个任意字符单击颠倒按钮将这些字符按相反的顺序显示在标签Lable1中并在标签Labs12处显示字符的个数例如输入abcabc2显示为2cbabca组成字符数为4[VisualBasic代码]PrivateSubcmdshow_ClickDimnAsIntegerDimIAsIntegerDimstr1AsStringN=LenText1.TextForI=nToStep-1Str1=1NextILabe11.Caption=Str1EndSubPrivateSubcmdcount_ClickDimnAsIntegerDiminAsIntegerDimiAsIntegerDimjAsIntegerDimflagAsIntegerDimstr1AsIntegerDimstr2AsIntegerN=2Str1=Mid$Text1.Texti.1ForI=2TonStr2=mid$Text1TextI1M=Lenstr13Forj=1TomIf4Thenflag=1;ExitForNextjIfflag<>1thenstr1=str1&str2NextILable2.Caption=5EndSub
[说明]下面的程序利用递归算法计算x和y的最大公约数[函数2.1]mainintxykt;scanf%d%d&x&y;ifx>yt=x;x=y;y=t;1;whilek!=0y=x;2;k=y%x;prinff%dx;[函数2.2说明]函数funchar*strchar*substr的功能是计算子串sugbstr在串str中出现的次数[函数2.2]funehar*strchar*substrintxyz;3;forx=0;str[x]!=’/O’;x++fory=xz=0;sabstr[z]==str[y];4y++if5==’/0’num++;break;returnnum;
[说明]已知递推数列a1=1a2s=asa2s+1=as+as+1s为正整数试求该数列的第n项与前n项中哪些项最大最大值为多少算法分析该数列序号分为奇数或偶数两种情况做不同递推所得数列呈大小有规律的摆动设置a数组赋初值a1=1根据递推式在循环中分项序号s2~n为奇数或偶数作不同递推每得一项as即与最大值max作比较如果as>max则max=ai最后在所有项中搜索最大项因最大项可能多于一项并打印最大值max[问题]将流程图中的1~5处补充完整注流程图中1循环开始的说明按照循环变量名循环初值循环终值增量格式描述[流程图]
[说明]求树的宽度所谓宽度是指在二叉树的各层上具有结点数最多的那一层的结点总数本算法是按层次遍历二叉树采用一个队列q让根结点入队列若有左右子树则左右子树根结点入队列如此反复直到队列为空[函数]intWidthBinTree*Tintfront=-1rear=-1;/*队列初始化*/intflag=0count=0p;/*p用于指向树中层的最右边的结点flag记录层中结点数的最大值*/ifT!=Nullrear++;1;flag=1;p=rear;while2front++;T=q[front]];ifT->lchild!=Nullroar+-+;3;count++;ifT->rchild!=Nullrear++;q[rear]=T->rchild;4;iffront==p//当前层已遍历完毕if5flag=count;count=0;p=rear//p指向下一层最右边的结点returnflag;
[说明]若矩阵Am×n中存在某个元素aij满足aij是第i行中最小值且是第j列中的最大值则称该元素为矩阵A的一个鞍点下面程序的功能是输出A中所有鞍点其中参数A使用二维数组表示m和n分别是矩阵A的行列数[程序]voidsaddleintA[][]intmintnintijmin;fori=0;i<m;i++min:1;forj=1;j<n;j++ifA[i][j]<min2;forj=0;j<n;j++if3p=0;whilep<m&&4p++;ifp>=mprintf%d%d%d/nijmin;
【说明】本应用程序是一个乘法计算器其运行窗口如图2所示在该界面中被乘数乘数以及积等文字为标签相应的3个输入输出数据框为文本框此外还有3个命令按钮用户在被乘数和乘数相应的文本框内输入数据再单击运算按钮便能在积对应的文本框中看到相乘的结果当用户单击清除按钮时就会清除各文本框中的数据当用户单击关闭按钮时就会关闭该窗口并退出应用程序用户不能在积对应的文本框中输入数据【属性设置】各个对象有关的属性名以及需要修改的属性值设计如下对象对象名属性名属性值窗体frmMultiplyCaption乘法计算器标签1Lbl1Caption被乘数标签2Lbl2Caption乘数标签3Lbl3Caption积文本框1Txt1Text空文本框2Txt2Text空文本框3Txt3Text空Enabled1按钮12Caption运算按钮2cmdClearCaption清空按钮3cmdCloseCaption退出【程序】PrivateSubcmdMultiply_Clicktxt3.Text=TrimStr$3’加法运算获得和数EndSubPrivateSub4txt1.Text=’空字符串赋值给文本框txt1的内容txt2.Text=’空字符串赋值给文本框txt2的内容txt3.Text=’空字符串赋值给文本框txt3的内容EndSubPrivateSubcmdClose_Click5’退出应用程序EndSub
[说明]本程序用古典的Eratosthenes的筛法求从2起到指定范围内的素数如果要找出2至10中的素数开始时筛中有2到10的数然后取走筛中的最小的数2宜布它是素数并把该素数的倍数都取走这样第一步以后筛子中还留下奇数3579重复上述步骤再取走最小数3宣布它为素数井取走3的倍数于是留下57反复重复上述步骤直至筛中为空时工作结束求得2至10中的全部素数程序中用数组sieve表示筛子数组元素sieve[i]的值为1时表示数i在筛子中值为-1时表示数i已被取走[程序]#include<stdioh>#defineMAX22500mainunsignedintirangefactork;intsieve[MAX];prinffpleaseinputthe’range:;scanf%d⦥/*range指出在多大的范围内寻找素数*/fori=2;i
[说明]编写一个函数输入为偶数时调用函数求1/2+/++1/n当输入n为奇数时调用函数1/1+1/3++1/n利用指针函数[函数]#includestdio.hmainfloatpevenpodddcallfloatsumintnwhile1scanf%d&nifn>1breakifn%2==0printfEven=1elsepfinffOdd=2printf%fsumfloatpevenintnfloatsintis=1fori=2i<=ni+=23returnsfloatpoddnintnfloatsintis=0fori=1i<=ni+=24returnsfloatdcallfpnfloat*fpintnfloats5returus
[说明]以下程序的功能是实现堆栈的一些基本操作堆栈类stack共有三个成员函数empty判断堆栈是否为空push进行人栈操作pop进行出栈操作[C++程序]#includestdafx.h#include<iostreamh>eonstintmaxsize=6;classstackfloatdata[maxsize];inttop;public:stuckvoid;~stackvoid;boolemptyvoid;voidpushfloata;floatpopvoid;;stack::stackvoidtop=0;cout<<stackinitialized.<<endl;stack::~stackvoidcout<<stackdestoryed.<<endl;boolstack::emptyvoidreturn1;voidstack::pushfloataiftop==maxsizecout<<Stackisfull!<<endl;return;data[top]=a;2;floatstack::popvoidif3cout<<Stackisundcrflow!<<endl;return0;4;return5;voidmainstacks;coat<<nowpushthedata:;forinti=l;i<=maxsize;i++cout<<i<<;s.pushi;coat<<endl;cout<<nowpopthedata:;fori=1;i<=maxsize;i++cout<<s.pop<<;
[说明]设计一程序输入10个整数到一个数组中调整这10个数在数组中的位置使得其中最小的一个数成为数组的首元素最大的一个数成为数组的末元素[C++程序]#include<iostream.h>#defineSIZE10voidmainintdata[SIZE];intm;cout<<请输入<<SIZE<<个整数:;form=0;m<SIZE;m++1;intj=0k=0;forinti=1;i<SIZE;i++if2j=i;elseifdata[i]<data[k]3;ifj>0intd=data[0];4;data[k]=d;ifk<SIZE-1intd=data[SIZE-1];data[SIZE-1]=data[j];5;cout<<end1<<排序后:;form=0;m<SIZE;m++cout<<data[m]<<;
【说明】函数fun1intbb[]的功能是在3位整数100~999中寻找符合条件的整数并依次从小到大存入数组中它既是完全平方数两位数字又相同例如144676等【函数2.11】fun1intbb[]intijk=0gsb;fori=100;i<=999;i++g=i%10;1b=i/100;ifi==intsqrti*intsqrti&&g==s‖s==b‖b==g2returnk;【函数2.2说明】函数voidfun2的功能是数组a中有300个四位数求出数组a千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数CNT再把所有满足此条件的四位数依次存入数组bb中然后对数组bb的四位数按小到大的顺序进行排序例如91239-1-2-3>0则该数满足条件存入数组bb中且个数CNT=CNT+198129-8-1-2<0则该数不满足条件忽略【函数2.2】voidfun2intqbsgij;fori=0;i<300;i++q=a[i]/1000;b=a[i]/100%10;s=a[i]/10%10;g=a[i]%10;ifq-b-s-g>03fori=0;i<cnt-1;i++forj=i+1;j<cnt;j++ifbb[i]>bb[j]4bb[i]=bb[j];5
[说明]函数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+ln=*ip-’0’+1;c=1;fork=0;k<n;k++*op++=c;else*op++=*ip;2;ip++;ifop>outstr3;*op=’/0’;4;intdecodechar*instrchar*outstrchar*ip*opc;intn;ip=instr;op=outstr;while*ipc=*ip;n=0;while*ip==c&&n<105;n++;ifn>1*op++=’0’+n-1;*op++=c;if*ip==’_’ip++;*op=’/0’;4;
【说明】找一个最小的自然数使它等于不同的两组三个自然数的三次幂之和即找最小的x使得x=a*a*a+b*b*b+c*C*c+d*d*d+e*e*e+f*f*f其中abcdef者是是自然数a≤b≤C≤d≤e≤f[abc]!=[def【C++程序】#include<stdio.h>#defineN100voidmainintijilihi0j0k0ilj1k1;intj1[N]jh[N];/*第i层平面的行的变化范围自jl[i]至jh[i]*/intk[N][N];/*第i层平面中对应行j当前的列号值为k[i][j]*/intp[N]min;/*p[i]=i*i*i*/i1=1;j1=1;k1=1;/*首先只局限下三角棱体的顶点*/i1=1;ih=1;/*预置i的变化范围初值i1<=i<=ih*/j1[1]=1;jh[1]=1;/*对应i层平面的行的变化范围*/k[i1][j1[i1>=1;/*第i层平面中对应行的列的初值*/p[1]=1;domin=p[i1]+p[j1]+p[k1];i0=i1;j0=j1;k0=k1;ifi1==ih/*当前候选者在ih平面则ih增1*/ih++;1;/*为ih平面设定j的变化范围和对应k值*/j1[ih]=1;jh[ih]=1;k[ih][1]=1;ifi1==i1&&j1==i1&&k1==i1i1++;/*在i1平面最下角点找到候选者i1增1*/elseifk1==1&&jh[i1]<i1/*在第一列找到候选者i1平面的行的上界增1*/2;k[i1][jh[i1>=1;ifk1==j1&&j1[i1]<i1else3;/*调整i1平面当前行的列号*/i1=i1;/*预定最上平面的最小行的当前列为下一个候选者*/j1=j1[i1];k1=k[i1][j1];fori=i1;i<=ih;i++/*寻找最小值所在平面号行号和列号*/forj=j1[i];j<=jh[i];j++ifp[i]+p[j]+p[k[i][j><4i1=i;j1=j;k1=k[i][j];whilep[i1]+p[j1]+p[k1]!=min&&5;ifp[i1]+p[j1]+p[k1]==minprintf%4d=%2d^3+%d^3+%dA3=%2d^3+%d^3+%d^3/nmini0j0k0i1j1k1;elseprintfThe%distoosmall./nN;
[流程图][说明]把指定区间上的所有整数分解质因数每一整数表示为质因数按从小到大顺序排列的乘积形式如果被分解的数本身是素数则予以注明例如90=2×3×3×591=素数下面的流程图描述了分解质因数的过程对每一个被分解的整数j赋值给b以保持判别运算过程中j不变用K从2开始递增1取值试商若不能整除打印输出*kb除以k的商赋给bb=b/k后继续用k试商注意可能有多个k因数直至不能整除k增1继续将流程图中的1~5处补充完整
【说明】编写字符界面的Application程序接收依次输入的10个整型数据每个数据一行将这些数据按升序排序后从系统的标准输出设备输出【Java代码】importjava.iO.*;importjava.util.*;publicclasscompositorpublicstaticvoidmainStringargs[]finalintNUMBER=10;VectordataVector=newVector;tryBufferedReaderbr=newBufferedReader1InputStreamReaderSystem.in;System.out.println请输入+NUMBER+个整数;forinti=0;i<NUMBER;i++inttemp=Integer.parselntbr.2;intlow=0high=i-1mid=0;while3System.out.printlnlow++mid++high;4;ifIntegerdataVectOr.getmid.intValue==tempdataVector.insertElementAtnewIntegertempmid;break;elseifIntegerdataVector.getmid.intValue>temphigh=mid-1;else5;iflow>highdataVectorinsertElementAtnewIntegertempiow;//输出System.out.println/n升序的排序结果为;;forinti=0;i<NUMBER;i++System.out.printdataVector.geti.toString+/t;catchNumberFormatExceptionnfeSystem.out.printlnnfe.toString;System.out.println整数格式输入错误;catchIOExceptionioeSystem.out.printlnioe.toString;
[说明]本程序的功能是产生一个抽奖游戏中的随机数组合抽奖的规则是从自然数1至50中无重复抽取6个数为了保证抽取的无重复性将50个自然数放在数组source中每抽取了一个数就用数组的最后一个数来改写这个被抽中的数并把数组的长度减1为使输出更为清晰把抽取出来的6个数放在数组target中经过排序Arrays类中的sou方法实现排序然后输出注Math.random方法返回一个在0包含到1不包含之间的随机浮点数[Java代码]importjava.util.*;publicclassDrawOutpublicstaticvoidmainString[]argsintn=50;intk=6;int[]source=newint[n];forinti=0;i<1;i++source[i]=i+1;int[]target=newint[k];//将抽中的数字从source数组中取出放入到target数组forinti=0;i<2;i++intr=intMath.random*3;target[i]=source[r];....[r]=4;5;Arrays.sorttarget;forinti=0;i<targetlength;i++System.out.prinflntarget[i];
【说明】输入数组最大的与第一个元素交换最小的与最后一个元素交换输出数组【函数】mainintnumber[10];inputnumber;maxminnumber;outputnumber;inputnumberintnumber[10];inti;fori=0;i<9;i++scanf%d&number[i];scanf%d&number[9];max_minarrayintarray[10];int*max*mink1;int*p*arr_end;arrend=1;max=min=array;forp=2;p<arr_end;p++if3max=p;elseif*p<*minmin=p;4;l=*min;5;array[0]=1;1=*p;*p=array[9];array[9]=k;k=*p;return;outputarrayintarray[10];int*p;forp=array;p<array+9;p++printf%d*p;printf%d/narray[9];
[说明]函数PrintprimeintUpBound的功能是输出1到UpBound以内的全体素数[函数2.1]voidPrintPrimeintUpBoundprintf2;fori=3;i<UpBound;i+=2intk=sqrti;forj=3;j<=k;1/*检查i是否有3到k以入的奇因数*/if2break;fi3printf%di;[函数2.2说明]递归函数invertinta[]intkintk的功能是将数组a中的前k个元素逆置[函数2.2]voidinvertinta[]intkintt;if4invert5;t=a[0];a[0]=a[k-1];a[k-l]=t;
[说明]当用户启动html浏览器并首次打开下面的html文档时JavaApplet小程序在第一个显示面板上显示字符串HelloWorld在第二个显示面板上画一条直线[Java代码]importjava.awt.*;importjavax.swing.*;publicclassHelloWorldAppletextendsJAppletpubhcvoid12str=HetloWorld;JLabellabel=newJLabelstr;this.getContentPane.addlabel;importjava.applet.Applet;importjava.awt.Graphics;publicclassAppletPaintextends3publicvoidpaint4g.drawLine00300200;[HTML文档]<html><head><title>HTMLTestPage</title></head><body><appletcode=5width=300height=100></applet><appletcode=AppletPaint.classwidth=300height=100></applet></body></html>
[说明]本程序使用类来管理员工的通讯地址信息已知程序的输出为输出记录5姓名王丽华街道地址中华路15号市襄樊市省湖北省邮政编码430070[C++程序]#include<iostreamh>#include<stringh>classemployee.protected:charname[10];charstreet[20];charcity[10];char1[10];charpost[7];intno;2:3char[]char[]char[]char[]char[]int;voidchangenamecharn[]strcpynamen;voidchangestreetchars[]strcpystreets;voidchangecitycharc[]strcpycityc;voidchangeprovcharp[]strcpyprovp;voidchangenointnnm4;voiddisplay;;employee::3charn[]chars[]charc[]charp1[]charp2[]intnamstrcpynamen;strcpystreets;strcpycityc;strcpyprovp1;strcpypostp2;no=nam;voidemployee::displaycont<<输出记录:<<no<<endl;cout<<姓名:<<name<<endl;coot<<街道地址:<<street<<endl;cout<<市:<<city<<endl;cout<<省:<<prov<<endl;cout<<邮政编码:<<post<<endl;voidmainemployeecmp王华中华路15号武汉市湖北省4300701;emp.changename五丽华;emp.changecity襄樊市;emp.changeno5;5;
[函数2.1说明]求任意两个正整数的最大公约数的欧几里德算法用辗转相除法求正整数m和n的最大公约数并返回该公约数[函数2.1]voidfunc1intmintnr=m%nwhiler<>01n=r2returnn[函数2.2说明]判断101~200之间有多少个素数并输出所有素数用一个数分别去除2到sqrt这个数如果能被整除则表明此数不是素数反之是素数[函数2.2]voidfunc2intmikh=0leap=1;printf/n;form=101;m<=200;m++3;fori=2;i<=k;i++if4leap=0;break;ifleapprintf%-4dm;5;ifh%10==0printf/n;leap=1;printf/nThetotalis%dh;
[函数8.1说明]现考虑编写一个扑克游戏只用一副无大小王的扑克扑克的花色suit分为SpadeHeartDiamond和Club每门花色的牌共13张面值rank分别为2345678910JackQueenKing和Ace每张扑克牌应包含如下信息惟一的ID号1~52花色面值背面图案的编号等每张扑克牌的操作有判断两张扑克牌是相同花色吗相同面值吗判断一张扑克牌是给定的花色吗是给定的面值吗请补充扑克牌类Card类的声明和实现代码要求选取适当形式的数据成员描述每张扑克牌的信息同时以成员函数的形式实现指定的操作[C++程序]constenumSUITSPADE=0HEARTDIAMONDCLUBconstenumRANKTWO=0THREEFOURFIVESIXSEVENEIGHTNINETENJACKQUEENKINGACEclassCardpublic1intidmIDidmSuitid1/13mRankid-1%13boolIsSameSuitconstCard&rhsretumthis==&rhs2boolIsSankRankconstCard&rhsreturnthis==&rhsfalse:mRank==rhs.mRankboolIsSuitintsuitreturn3boolIsRankintrankreturnmRank==rankprivatestaticintnBackImg//背面图案constintmIDconstintmSuitconstintmRank[函数8.2说明]输入一字符串将其中所有的小写字母转换为大写字母大写字母转换为小写字母然后显示输出转换后的字符串[C++程序]#include<iostream.h>classvectorinta;intb;publicvectorintx=0inty=0axbydoubleoperator*4doublec5;returncvoidinputintxintya=xb=yvoidoutputcout<<’’<<a<<’’<<b<<<<end1;voidmainvectorx1020y//定义xyz三个矢量类对象并将x置初值1020doubled//定义实数d以存放点乘结果y.input23//给y赋值为25d=x*y//两矢量点乘x.output//输出矢量xy.output//输出矢量ycout<<d<<end1//输出点乘结果
[说明]本程序求3~100之间的所有素数质数并统计个数同时将这些素数从小到大依次写入顺序文件E:/dataout.txt素数的个数显示在窗体Form1上[VisualBasic代码]PrivateSubCommand1ClickDimcountasintegerflagasBooleanDimt1asIntegert2asInteger1Count=0Fort1=3to1002Fort2=2toIntSqrt1If3Thenflag=FalseNextt24count=count+1write#1t1EndifNextt15Close#1EndSub
[说明]编写一个Applet程序接受HTML文件传递的整数参数根据该参数指定Applet中文本框的长度编写对应的HTML文件运行这个Applet[Java代码]importjava.applet.*importjava.awt.*publicclasschuangdicsextends1TextFieldtf=newTextFieldinttfLength=0publicvoidinittrytfLength=Integer.parseInt2lengthtf.setColumnstfLengthaddtfcatchNumberFormatExceptionnfetf.3HTML文件传人的参数格式错误addtf[HTML代码]<html><head><title>4</title></head><body><hr><appletcode=chuangdicswidth=700height=150><paramname=lengthvalue=20>5<hr></body></htmI>
【说明】请编写一个函数intSeqSearchintlist[]intstartintnintkey该函数从start开始在大小为n的数组list中查找key值返回最先找到的key值的位置如果没有找到则返回-1请修改程序中画线部分的错误并将不同情况下的输出结果补充完整【程序】文件search.cpp的内容如下#include<iostream.h>intSeqSearchintlist[]intstartintnintkeyforinti=start;i<=n;i++//1iflist[i]=key//2returni;return-1;voidmainintA[10]intkeycount=0pos;cout<<Enteralistof10integers:;forpos=0;pos<10;pos++cin>>A;//3cout<<Enterakey;;cin>>key;pos=0;whilepos=SeqSearchApos10key!=-1count++;pos++;cout<<key<<occurs<<count<<count!=1times:time<<inthelist<<endl;第一种情况输入231268458337输入key8输出4第二种情况输入231268458337输入k6y9输出5
[说明]本程序求3~100之间的所有素数质数并统计个数同时将这些素数从小到大依次写入顺序文件E:/dataout.txt素数的个数显示在窗体Form1上[VisualBasic代码]PrivateSubCommand1_ClickDimcountasintegerflagasBooleanDimt1asIntegert2asInteger1Count=0Fort1=3to100Flag=TreeFort2=2toIntSqrt1If2Thenflag=FalseNextt23count=4write#1t1EndifNextt15Close#1EndSub
【说明】函数voidrcrinta[]intnintk的功能是将数组a中的元素s[0]~9[n-1]循环向右平移k个位置为了达到总移动次数不超过n的要求每个元素都必须只经过一次移动到达目标位置在函数rcr中用如下算法实现首先备份a[0]的值然后计算应移动到a[0]的元素的下标p并将a[P]的值移至a[0]接着计算应移动到a[p]的元素的下标q并将a[q]的值移至a[p]依次类推直到将a[0]的备份值移到正确位置若此时移动到位的元素个数已经为n则结束否则再备份a[1]的值然后计算应移动到a[1]的元素的下标p并将a[p]的值移至9[1]接着计算应移动到a[p]的元素的下标q并将a[q]的值移至a[p]依次类推直到将a[1]的备份值移到正确位置若此时移动到位的元素个数已经为n则结束否则从a[2]开始重复上述过程直至将所有的元素都移动到目标位置时为止例如数组a中的6个元素如图1a所示循环向右平移两个位置后元素的排列情况如图1b所示voidrcrinta[]intnintkintijttempcount;count=0;/*记录移动元素的次数*/k=k%n;if1/*若k是n的倍数则元素无须移动;否则每个元素都要移动*/i=0whilecount<nj=i;t=i;temp=a[1];/*备份a[i]的值*//*移动相关元素直到计算出a[i]应移动到的目标位置*/whilej=2!=ia[t]=a[j];t=3;count++;4=temp;count++;5;
[说明]完成以下中序线索化二叉树的算法[函数]Typedefintdatatype;TypedefstructnodeIntltagrtag;Datatypedata;*lchild*rchild;bithptr;bithptrpre;voidinthreadp;ifinthreadp->lchild;ifp->lchild==unll1;ifP->RCHILD=NULLp->rtag=1;if2if3pre->rchild=p;ifp->1tag==14;INTHREADP->RCHILD;5;
热门题库
更多
中级系统集成项目管理工程师
中级网络工程师
中级信息系统管理工程师
初级程序员
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识