计算机类
公务员类
工程类
语言类
金融会计类
计算机类
医学类
研究生类
专业技术资格
职业技能资格
学历类
党建思政类
计算机软件水平考试
全国计算机应用水平考试(NIT)
计算机软件水平考试
计算机等级考试(NCRE)
全国高校计算机等级考试CCT
行业认证
信息素养
程序员(初级)
信息系统项目管理师(高级)
系统分析师(高级)
系统架构设计师(高级)
网络规划设计师(高级)
系统规划与管理师(高级)
软件评测师(中级)
软件设计师(中级)
网络工程师(中级)
多媒体应用设计师(中级)
嵌入式系统设计师(中级)
电子商务设计师(中级)
系统集成项目管理工程师(中级)
信息系统监理师(中级)
信息安全工程师(中级)
数据库系统工程师(中级)
信息系统管理工程师(中级)
软件过程能力评估师(中级)
计算机辅助设计师(中级)
计算机硬件工程师(中级)
信息技术支持工程师(中级)
程序员(初级)
网络管理员(初级)
信息处理技术员(初级)
电子商务技术员(初级)
信息系统运行管理员(初级)
网页制作员(初级)
多媒体应用制作技术员(初级)
PMP项目管理员资格认证
问答题【说明】某学期成绩管理系统的“增、删、改数据表中的记录”对话框如图1-19所示。图1-19对话框中共定义了6个标签、6个文本框、4个命令按钮和1个Data数据控件。其中Data数据控件是VisualBasic的标准控件。利用它能方便地创建应用程序与数据库之间的连接,并实现对数据资源的访问。【添加】(cmdAdd)按钮用于向学生成绩数据表添加一条空记录:【修改】(cmdEdit)按钮用于修改当前所显示的一条数据记录:命令按钮【删除】(cmdDelete)用于删除当前显示的一条数据记录;单击【退出】(cmdExit)按钮,系统将退出图1-19所示的对话框。表1-13是学生成绩表结构的示例;表1-14是学生成绩表的示例。图1-19将表1-14数据库中的记录信息显示到相应的文本框中。要在各文本框(txtStu(i),i=0,1,2,3,4,5)中显示Data数据控件所连接的数据表中的数据,必须将文本框与Data数据控件进行绑定。表1-13学生成绩表结构字段名类型大小  字段名类型大小班级Text6语文Integer2(默认)学号Text8数学Integer2(默认)姓名Text10英语Integer2(默认)                                             表1-14学生成绩示例表班级学号姓名语文数学英语AA40001张薇958690BB40001谢新677181AA40002刘红948986CC40001张斌788886………………【VisualBasic程序】PrivateSubForm_Load()Fori=0To5txtStu(i).Locked=TrueNextiEndSubPrivateSubcmdAddClick()cmdEdit.Enabled=NotcmdEdit.Enabled(1)Fori=0To5txtStu(i).Locked=NottxtStu(i).LockedNextiIfcmdAdd.Caption="添加"Then(2)Datal.Caption="新记录"cmdAdd.Caption="保存"cmdExit.Caption="取消"txtStu(0).SetFocusElseDatal.Recordset.Update(3)cmdAdd.Caption="添加"EndIfEndSubPrivateSubcmdEdit_Click()cmdAdd.Enabled=NotcmdAdd.EnabledcmdDelete.Enabled=NotcmdDelete.EnabledFori=0To5txtStu(i).Locked=NottxtStu(i).LockedNextiIfcmdEdit.Caption="修改"ThenDatal.Recordset.EditcmdEdit.Caption="保存"cmdExit.Caption="取消"Else(4)cmdEdit.Caption="修改"EndIfEndSubPrivateSubcmdDelete_Click()answer=MsgBox("确实删除该记录吗?",vbYesNo+vbQuestion,"警告")Ifanswer=vbYesThenDatal.Recordset.Delete(5)IfDatal.Recordset.EOFThen(6)EndIfEndIfEndSubPrivateSubcmdExit_Click()IfcmdExit.Caption="退出"ThenEndElse(7)cmdAdd.Enabled=TruecmdEdit.Enabled=TruecmdDelete.Enabled=TrueFori=0To5txtStu(i).Locked=NottxtStu(i).LockedNexticmdExit.Caption="退出"cmdAdd.Caption="添加"cmdEdit.Caption="修改"(8)EndIfEndSubPrivateSubDatal_Reposition()Datal.Caption="第"&(9).AbsolutePosition+1&"条记录"EndSub1.【问题1】请根据【说明】和图1-19的显示结果,从以下备选答案中为(1)~(9)空缺处选择正确的答案。(以下部分选项可重复选择)【备选答案】A.Datal.RefreshB.Datal.Recordset.UpdateC.Datal.RecordsetD.Datal.Recordset.CancelUpdateE.Datal.Recordset.AddNewF.Datal.Recordset.MoveNextG.Datal.Recordset.MoveLastH.cmdDelete.Enabled=NotcmdDelete.Enabled
进入题库练习
问答题[说明]某订单管理系统的部分UML类图如图3-21所示。图3-21某订单管理系统的部分分类图在图3-21中,Product表示产品,ProductList表示所销售产品的列表,Order表示产品订单,OrdeItem表示产品订单中的一个条目,OrderList表示订单列表,SalesSystem提供订单管理系统的操作接口。各个类的部分属性和方法说明如表3-16所示。{{B}}表3-16某订单管理系统各个类的部分属性和方法说明表{{/B}}类成员说明ProductListArrayListproductsProductStringcode产品编号Stringdescription产品描述doubleprice产品单价Booleanequals(Objectobject)若两个产品相同则返回true,否则返回falseOrderItemProductproduct订单项中的产品intquantity产品的订购数量ProductgetProduct()获取订单项中的产品OrderArrayList(OrderItem)items订单中饮食的订单项OrderListArrayList(Order)Orders订单voidaddOrder(OrderOrder)向订单列表中添加新订单intgetNumberOfOrders()获取订单列表中的订单总数SalesSystemProductListcatalog产品目录OrderListsales订单列表voidstatistic()依次统计产品目录中每个产品的订购总量,并打印出每个产品的编号、说明、订购总量和订购金额可以使用类java.util.ArrayList<E>来实现对象的聚集关系,如图3-21所示OrderList与Order之间的聚集关系。For...each循环提供了一种遍历对象集合的简单方法。在for...each循环中,可以指定需要遍历的对象集合及用来接收集合中每个元素的变量,其语法如下:for(用来接收集合中元素的变量:需要遍历的对象集合)如果要使用for-each循环来遍历对象集合,那么包含该对象集合的类必须实现接口java.util.Iterable<T>。[Java程序7-1]和[Java程序7-2]分别给出了类OrderList和方法statistic的Java代码。[Java程序7-1]importjava.util.*.publicclassOrderList{{U}}(1){{/U}}{privateArrayList<Order>orders;publicOrderList(){this.orders=newArrayList(Order)"();}publicvoidaddOrder(Orderorder){this.orders,add(order);}publicIterator<Order>iterator(){return{{U}}(2){{/U}};}publicintgetNumberOfOrders(){returnthis.orders,size();}}[Java程序7-2]importjava.util.*;publicclassSalesSystem{privateProductListcatalog;privateOrderListsales;privatestaticPrintWriterstdOut=newPrintWriter(System.out,true);publicvoidstatistic(){for(Productproduct:{{U}}(3){{/U}}{intnumber=0;for(Orderorder:{{U}}(4){{/U}}{for({{U}}(5){{/U}}:order){if<product.ecluals(item.getProduct()))number+=item.getQuantity();}}stdOut.println(product.getCode()+""+product.getDescription()+""+number+""+number*product.getPrice());}}//其余的方法未列出}
进入题库练习
问答题【说明】下面流程图的功能是:在已知字符串A中查找特定字符串B,如果存在,则输出B串首字符在A串中的位置,否则输出-1。设串A由n个字符A(0),A(1),…,A(n-1)组成,串B由m个字符B(0),B(1),…,B(m-1)组成,其中n≥m>0。在串A中查找串B的基本算法如下:从串A的首字符A(0)开始,取子串A(0)A(1)…A(m-1)与串B比较;若不同,则再取子串A(1)A(2)…A(m)与串B比较,依次类推。例如,字符串“CABBRFFD”中存在字符子串“BRF”(输出3),不存在字符子串“RFD”(输出-1)。在流程图中,i用于访问串A中的字符(i=0,1,…,n-1),j用于访问串B中的字符(j=0,1,…,m-1)。在比较A(i)A(i/1)…A(i+m-1)与B(0)B(1)…B(m-1)时,需要对A(i)与B(0)、A(i+1)与B(1)、…、A(i+j)与B(j)等逐对字符进行比较。若发现不同,则需要取下一个子串进行比较,依此类推。【流程图】
进入题库练习
问答题阅读以下说明和C代码,填补代码中的空缺,将解答填入答题纸的对应栏内。 [说明] 下面的代码运行时,从键盘输入一个四位数(各位数字互不相同,可以有0),取出组成该四位数的每一位数,重组成由这四个数字构成的最大四位数max4和最小四位数min4(有0时为三位数),计算max4与min4的差值,得到一个新的四位数。若该数不等于6174,则重复以上过程,直到得到6174为止。 例如,输入1234,则首先由4321-1234,得到3087;然后由8730-378,得到8352;最后由8532-2358,得到6174。 [C代码] #include<stdio.h> int difference(int a[]) ( int t,i,j,max4,min4; for(i=0; i<3; i++){/*用简单选择排序法将a[0]~a[3]按照从大到小的顺序排列*/ t=i; for(j=i+1; ______; j++) if(a[j]>a[t]) ______; if(t!=i){ int temp=a[t]; a[t]=a[i]; a[i]=temp; } } max4=______; min4=______; return max4-min4; } int main() { int n,a[4]; printf("input a positive four-digit number:"); scanf("%d", while(n!=6174){ a[0]= ______; /*取n的千位数字*/ a[1]=n/100%10; /*取n的百位数字*/ a[2]=n/10%10; /*取n的十位数字*/ a[3]= ______; //取n的个位数字*/ n=difference(a); } return 0; }
进入题库练习
问答题【说明】喜迎2008年北京奥运会!以下【C程序】能将一个给定汉字(例如,奥运会的“会”字)的点阵逆时针旋转90°,并输出旋转前后的点阵数据及字形。图1-15是汉字“会”字的16×16点阵字形,用数字0表示空白位置,用数字1表示非空白位置,“会”字的第1行即可表示成如下的0,1序列: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#defineRIGHT1main()staticunsignedold[16]=0x0100,0x0240,0x0420,0x0810,0x1004,0x23c2,0x4001,0x8ff8,0x0100,0x0200,0x0400,0x0800,0xl000,0x2004,0x7ffe,0x0001;unsignednew[16];turnleft(old,new);display(old,new);turnleft(old,new)unsignedold[],new[];introw,k;for(row=0;row<16;row++)for((1);k<16;k++)new[row]|=((old[k]>>(2))display(old,new)unsigned*old,*new;charout[2][17],letter[2];introw,col;letter[O]=EMPTY;letter[1]=NONEMPTY;out[LEFT][16]=out[RIGHT][16]=(4);for(row=0;row<16;row++,old++,new++)for(col=0;co1<16;++col)out[LEFT][col]=letter[((5))out[RIGHT][col]=letter[((6))printf("/n%4x%s",*old,printf("%4x%s",*new,
进入题库练习
问答题【说明】 本程序用古典Eratosthenes;筛选法求从2起到指定范围内的素数。如果要找出2~10中的素数,开始时筛中有2~10的数,然后取走筛中最小的数2,宣布它是素数,并把该素数的倍数都取走。这样,第一步以后,筛子中还留下奇数3、5、7、9;重复上述步骤,再取走最小数3,宣布它为素数,并取走3的倍数,于是留下5、7。反复重复上述步骤,直到筛中为空时,工作结束,求得2~10中的全部素数。 【代码】 # include <stdio.h> # define MAX 22500 /*程序中用数组sieve表示筛子,数组元素sieve[i]的值为1时,表示数i在筛子中,值为-1时表示数i已被取走*/ main() { unsigned int i, range, factor, k; int sieve[MAX]; printf("please input the range:"); scanf("%d", /* range 指出在多大的范围内寻找素数*/ for(i=2; i<=range; i++) {{U}} (1) {{/U}}; factor=2; while (factor<=range) { if({{U}} (2) {{/U}}) /* 筛中最小数是素数 */ { printf("%d/t", factor); k=factor; while (k<=range) /*移走素数的倍数 */ { {{U}} (3) {{/U}}; k={{U}} (4) {{/U}}; } } {{U}} (5) {{/U}}; } }
进入题库练习
问答题
进入题库练习
问答题(5)
进入题库练习
问答题试题八(15 分,每空3 分) 阅读以下说明和C++程序,将应填入 (n) 处的字句写在答题纸的对应栏内。 [说明] 下面程序的功能是计算并输出某年某月的天数。 [C++程序] #include using namespace std; (1) Month{Jan, Feb, Mar, Apr,May,Jun, Jul, Aug, Sep,Oct,Nov,Dec}; class Date{ public: Date(int year, Month m_month){ (2) = year; if(m_month Dec) month = Jan; else month = m_month; }; ~Date(){}; bool IsLeapYear(){ return ((year % 4 == 0 }; int CaculateDays(){ switch( (3) ){ case Feb:{ if( (4) ) return 29; else return 28; } case Jan: case Mar: case May: case Jul: case Aug: case Oct: case Dec: return 31; case Apr: case Jun: case Sep: case Nov: return 30; } }; private: int year; Month month; }; void main(){ Date day(2000,Feb); cout << day. (5) (); }
进入题库练习
问答题[说明]下面的流程图用于统计一个英文句子中单词的个数N。假设该英文句子中只含字母、空格和句点“.”,其中句点表示结尾,空格之间连续的字母串称为单词。[流程图]
进入题库练习
问答题【说明】 函数print(BinTreeNode*t; DateType DateType int i, top; top = 0;//置空栈 while(t! = NULL ST[top]. ptr = t; ST[top]. tag = 0; (2) ; if(t!= Null (3) ;i ++) printf("%d" ,ST[top]. ptr ->data); else while( (4) ) top--; if(top>0) ST[top]. tag = 1; (5) ;
进入题库练习
问答题从下列3道试题(试题5至试题7)中任选1道解答。如果解答的试题数超过1道,则题号小的1道解答有效。阅读以下应用说明及VisualBasic程序代码,根据要求回答问题1至问题4。[说明]某文件管理系统的图片浏览器如图3-19所示。运行程序时,用户只要通过驱动器列表框、目录列表框和文件列表框,选择文本文件所在的驱动器、文件夹及相应的文件名后,在图像框中将显示出相应的文件图像。在开发过程中,假设驱动器列表框名为drvFile,目录列表框名为dirFile,文件列表框名为filFile,选择文件类型组合框名为cboFile,图像框名为IMGonClick=over(this)title=放大Show。图3-19图片浏览器[VisualBasic程序]PrivateSubForm_Load()IMGonClick=over(this)title=放大Show.Stretch=TruecboFile.Addltem"位图文件(*.bmp)"cboFile.Addltem"图标文件(*.ico)"cboFile.Addltem"图元文件(*.wmf)"cboFile.Addltem"JPEG文件(*.jpg)"cboFile.Addltem"GIF文件(*.gif)"cboFile.ListIndex=0{{U}}(1){{/U}}EndSubPrivateSubdrvFile_Change(){{U}}(2){{/U}}EndSubPrivateSubdirFile_Change(){{U}}(3){{/U}}EndSubPrivateSubcboFile_Click(){{U}}(4){{/U}}Case0filFile.Pattern="*.bmp"Case1filFile.Pattern="*.ico"Case2filFile.Pattern="*.wmf"Case3filFile.Pattern="*.jpg.Case4filFile.Pattern="*.gif"EndSelectEndSubPrivateSubfilFile_Click()If{{U}}(5){{/U}}ThenIMGonClick=over(this)title=放大Show.Picture=LoadPieture(filFile.Path+filFile.FileName)ElseIMGonClick=over(this)title=放大Show.Picture=LoadPicture({{U}}(6){{/U}}+"/"+{{U}}(7){{/U}})EndIfEndSub
进入题库练习
问答题[说明] 函数Printprime(int UpBound)的功能是输出1到UpBound以内的全体素数。[函数2.1] void PrintPrime(int UpBound) printf("2," ); for(i=3; i<UpBound; i+ =2) int k = sqrt(i); for(j=3; j<= k; (1) ) /*检查i是否有3到k以入的奇因数*/ if( (2) ) break; fi( (3) ) printf("%d", i); [函数2.2说明] 递归函数invert(int a[],int k),int k)的功能是将数组a中的前k个元素逆置。[函数2.2] void invert(int a[ ], int k) int t; if ( (4) ) invert( (5) ); t=a[0]; a[0] =a[k-1]; a[k-l]=t;
进入题库练习
问答题【说明】 以下程序的功能是设计一个栈类stack<T>,并建立一个整数栈。 【程序】 #include < iostream. h > #include < stdlib. h > const int Max =20; //栈大小 template < class T > class stack{ //栈元素数组 T s[Max]; //栈顶下标 int top; public: stack( ) { top =-1; //栈顶初始化为-1 } void push( const T //item入栈 T pop( ); //出栈 int stackempty( ) const; //判断栈是否为 }; template < class T > void stack <T >::push(const T exit(1); } top ++ s[top] = item; } template < class T > T stack<T> ::pop() { T temp; if(top=={{U}} (2) {{/U}}) { cout <<"栈为空,不能出栈操作" < < endl; exit(1); } temp =s[top]; top --; return temp; } template < class T > int stack < T >:: stackempty( ) const { return top == -1; { void main( ) { stack <int> st; int a[] ={1,2,3,4,5}; cout <<"整数栈" <<endl; cout <<"入栈序列:" <<endl; for(int i=0;i<4;i ++) { cout <<a[i] <<" "; {{U}} (3) {{/U}}; } cout << endl <<"出栈序列"; while({{U}} (4) {{/U}}) tout<<{{U}} (5) {{/U}}<<" "; cout< < endl; }
进入题库练习
问答题【说明】请完成下列Java程序。程序的执行结果是生成一个具有一个TextField类型的对象in、Button类型的对象btn和Label类型的对象out图形用户界面,程序的功能是计算用户输入数的平方,如图3所示。注意:请勿改动main()主方法和其他已有的语句内容,仅在下划线处填入适当的语句。【程序】importjava.awt.*;importjava,awt.event.*;publicclasssquarepublicstaticvoidmain(Stringargs[])(1)classAppFrameextendsFrameTheAdapterTestlistener=newTheAdapterTest();TextFieldin=newTextField(5);Buttonbtn=newButton("计算");Labelout=newLabel("用于显示计算结果");publicAppFrame()setLayout(newFlowLayout());add(in);add(btn)add(out);btn.addActionListener(newBtnActionAdapter());addWindowListener(listener);setSize(400,100);show();classBtnActionAdapterimplements(2)publicvoidactionPerformed((3))Strings=in.getText();doubled=(4)doublesq=d*d;out.setText(d+"的平方是:"+sq);classTheAdapterTestextendsWindowAdapterpublicvoidwindowCIosing((5))System.exit(1)
进入题库练习
问答题[说明]某种传感器的输出值Ratio依赖于环境温度temp(-40℃≤temp≤50℃)。对一组环境温度值(ITEMS个),已经测量得到了相应的Ratio值(如表4-10表格所示)。表4-10粗略地描述了曲线Ratio(temp)。表4-10曲线Ration(temp)的列表值环境温度temp传感器的输出值Ratio-40℃0.20-20℃0.60-10℃0.800℃1.0010℃1.1730℃1.5050℃1.80校正系数K是Ratio的倒数,因此也依赖于环境温度temp。在数据处理中,需要用更多的列表值细致地描述曲线K(temp),如表4-11所示。表4-11曲线K(temp)的列表值环境温度temp校正系数K-40℃5.00-39℃4.55-38℃4.17-37℃3.85…………-20℃1.67-19℃1.61……^-10℃1.25-9℃1.22…………-19℃0.56在表4-11中,各温度值所对应的K值是对表4-10进行线性插值再求倒数得到的,具体的计算方法如下。1)根据temp值,在表4-10中用二分法查找;2)若找到相应的温度值,则按相应的Ratio值求倒数得到K值;3)若没找到相应的温度值,则可确定temp所在的温度区间[Tp1,Tp2],同时获得了相应的Ratio1和Ratio2,再按如下公式计算K值:在程序中,当temp高于50℃或低于-40℃C时,设定K=0。[C程序]#includetypedefstructintTemp;/*环境温度*/doubleRatio;/*传感器的输出值*/CURVE;#defineITEMS7doubleGetK(intTemp,CURVE*p,intn)/*用二分法在n个元素的有序表p中查找与Temp对应的传感器输出值*/intlow,high,m;doubleStep;low=0;high=n-1;if((Temp<p->Temp)||(Temp>(p+high)->Temp))return0.0;/*超出温度范围时返回0.0*/while(low<=high)m=(1);if(Temp==(p+m)->Temp)return(2);if(Temp<(p+m)>Temp)high=m-1;elselow=(3);p+=high;Step=((4))/((p+1)->Temp-p->Temp);return1.0/(p->Ratio+Step*((5));voidmain()intDegree;doublek;CURVECurve[ITEMS]=-40,0.2,-20,0.60.,-10,0.8,0,1.0,10,1.17,30,1.50,50,1.8;printf("环境温度校正系数/n");for(Degree=-40;Degree<=50;Degree++)k=GetK(Degree,Curve,ITEMS);printf("%3d%4.2f/n",Degree,k);
进入题库练习
问答题[说明]下面的流程图实现了正整数序列{K(1),K(2),…,K(n)}的重排,得到的新序列中,比K(1)小的数都在K(1)的左侧,比K(1)大的数都在K(1)的右侧。以n=6为例,序列{12,2,9,13,21,8}的重排过程为:{12,2,9,13,21,8}→{2,12,9,13,21,8}→{9,2,12,13,21,8}→{8,9,2,12,13,21}[流程图]
进入题库练习
问答题试题四(共15分)阅读以下应用说明以及用VisualBasic编写的程序代码,将应填入(n)处的字句写在答题纸的对应栏内。[应用4.1]设应用程序的运行窗口内有一个文字标签(Label)以及一个框架,其中有三个复选框(chk1,chk2,chk3),各个复选框单击事件过程的程序代码如下:PrivateSubchk1_Click()Label.fontBold=chk1.ValueEndSubPrivateSubchk2_Click()Label.fontItalic=chk2.ValueEndSubPrivateSubchk3_Click()Label.fontUnderLine=chk3.ValueEndSub三个复选框chk1、chk2、chk3的功能分别是:(1)。[应用4.2]设应用程序的运行窗口内有两个文本框Txt1和Txt2,其初始内容为空。在Txt1文本框中输入一个数值,当光标离开此文本框(例如进入文本框Txt2)时,执行的程序代码如下:PrivateSubTxt1_LostFocus()dimxasdoublex=Val(Txt1.Text)Ifx100ThenTxt1.Text=""MsgBox$("请重新输入!")Txt1.SetFocusElseTxt2.Text=Txt1.TextEndIfEndSub该程序代码的功能是:若在文本框Txt1中输入的数值小于0或大于100,当光标离开此文本框时,(2);否则,将其值复制到文本框Txt2中。[应用4.3]在下面的应用中,当窗口内发生Click事件时,窗口内将显示如图4-1所示的杨辉三从下角形(每一行都是二项式展开的系数)。请完善程序代码。图4-1PrivateSubForm_Click()Dimi,j,cAsInteger,StrTempAsStringDima(9)AsIntegera(0)=0:a(1)=1:StrTemp=Str(a(1))+Space(3)CurrentX=(ScaleWidth-TextWidth(StrTemp))/2PrintStrTempForj=2To9a(j)=1Forc=j-1To2Step-1a(c)=(3)Next(4)=""Forc=1TojStrTemp=StrTemp&Str((5))&Space(5-Len(Str(a(c))))NextCurrentX=(ScaleWidth-TextWidth(StrTemp))/2PrintStrTempNextEndSub
进入题库练习
问答题【说明】【C程序1】用回溯算法来产生由0或1组成的2m个二进位串,使该串满足以下要求。视串为首尾相连的环,则由m位二进制数字组成的2m个子序列,每个可能的子序列都互不相同。例如,如果m=3,在串11101000首尾相连构成的环中,由3位二进制数字组成的每个可能的子序列都在环中恰好出现一次,它们依次是111,110,101,010,100,000,001,011,如图2-14所示。【C程序2】是求“背包问题”的一组解的递归算法程序。“背包问题”的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为W1,W2,…,Wn,希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于S。【C程序1】#defineN1024#defineM10intb[N+M-1]intequal(intk,intjintm)inti;for(i=0;i<m;i++if(b[k+i](1))return0;return1;intexchange(intk,intm,intv)while(b[k+m-1)==v)b[kncm--i]=!v(2);(3)=v;returnk;init(ihtv)intkfor(k=0;K=N+M-1;k++)b[k]=v;main()intm,v,k,n,j;printf('Enterm(l<m<10),vv=0,v=1)/n");scanf("%d%d,n=0x01<<m;init(!v);k=0;while((4)<n)for(j=0;j<k;j++)if(equal(k,j,m))k=exchange(k,m,v)j=(5);for(k=0;k<n;k++)print("%d/n",b[k]);【C程序2】#include<stdio.h>#defineN7#defineS15intw[N+1]=0,1,4,3,4,5,2,7;intknap(intS,intn)if(S==0)return1;if(s<0||(s>0if((6)))printf("4d",w[n]);return1;return(7)main()if(knap(S,N)printf("OK:/n");elseprintf("NO!/n")
进入题库练习
问答题[说明] 已知以下C++程序运行时的输出结果如下。 1:1 1:1 1:1 [C++程序] 01 #include <iostream> 02 using namespace std; 03 class Stock 04 protect: 05 (1) ; 06 Stock(int n, int pr=1) 07 shares = n; share_val=pr; 08 ; 09 void ~Stock() ; 10 public: 11 //成员函数 12 void output() 13 (2) << shares << ":" << share_val << endl; 14 15 private: 16 //成员变量 17 int shares; 18 int share_val; 19 ; 20 21 void main() 22 Stock a(1);a.output 23 Stock b;b.output 24 Stock c = Stock ();c.output 25 1. [问题1] 请根据C++程序运行时的输出结果,将代码中(1)、(2)空缺处的内容补充完整。
进入题库练习