资源预览内容
第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
温故而知新,下笔如有神近2上半年程序员考试专项习题训练及答案-下午卷试题一是必答题试题一阅读下列说明、流程图和算法,将应填入_(n)_处的字句写在答题纸的对应栏内流程图说明下面的流程图用NS盒图形式描述了数组A中的元素被划分的过程其划分方法是:以数组中的第一个元素作为基准数,将小于基准数的元素向低下标端移动,而大于基准数的元素向高下标端移动当划分结束时,基准数定位于Ai,并且数组中下标小于i的元素的值均小于基准数,下标大子i的元素的值均大于基准数。设数组A的下界为low,上界为high,数组中的元素互不相同。例如,对数组(4,2,8,3,6),以4为基准数的划分过程如下:流程图算法说明将上述划分的思想进一步用于被划分出的数组的两部分,就可以对整个数组实现递增排序。设函数int p(int A,int low,int high)实现了上述流程图的划分过程并返回基准数在数组A中的下标。递归函数void sort(int A,iht L,int H)的功能是实现数组A中元素的递增排序。算法void sort(int A,iht l,int H)if ( L H ) k=p(A,L,R);/p()返回基准数在数组A中的下标sort(_ (4)_; /小于基准数的元素排序sortl_ (5)_);/大于基准数的元素排序 从下列的2道试题(试题二至试题三)中任选1道解答。如果解答的试题数超过1道,则题号小的1道解答有效。试题二阅读下列函数说明和C函数,将应填入_(n)_处的字句写在答题纸的对应栏内。函数2.1说明函数palindrome(chars)的功能是:判断字符串s是否为回文字符串,若是,则返回0,否则返回-1。若一个字符串顺读和倒读都一样时,称该字符串是回文字符串,例如:“LEVEL”是回文字符串,而“LEVAL”不是。函数2.1int palindrome(char S) char*pi,*pj;piS;pjs+strlen(S)-1:while ( pipj & _(1)_)pi+; pj-;if(_ (2)_)return-1;else return 0;函数2.2说明函数f(char *str,char del)的功能是;将非空字符串str分割成若干个子字符串并输出,del表示分割时的标志字符。例如若str的值为“33123333435”,del的值为3,调用此函数后,将输出三个子字符串,分别为“12”、“4”和“5”。函数2.2void f(char*str,char del) int i,j,len;len = strlen(str);i = 0;while(ielem = (int *)matloc(n * sizeof(int);if (S-elem = NULL) return -1;S-max = n;_(1)_= 0;return 0;int Push(Stack*S,int item)/* 将整数item压入栈顶 */ if(S-top = S-max) printf(Stack is full!n);return -1;_(2)_;item;return 0;int StackEmpty(Stack S) return(!S.top) ? 1;0;)/* 判断栈是否为空 */int Pop(Stack*S)/* 栈顶元素出栈 */ if (!S-top) printf(Pop an empty stack!n);return -1;)return _(3)_;void MultibaseOutput(long n,int B) int m;Stack S;if (init Stack(&S,MAXSIZE) printf(Failure!n);return;do if (Push(&s,_(4)_) printf(Failure!n);return;n = _(5)_: while (n != 0);while (!StackEmpty(S)/* 输出B进制的数 */m = Pop(&S);if (m 10) printf(Kd,m);/* 小于10,输出数字 */else printf(%c,m + 55); /* 大于或等于10,输出相应的字符 */printf(n); 试题五阅读以下应用说明及Visual Basic程序代码,将应填入_(n)_处的字句写在答题纸的对应栏内。应用说明5.1本应用程序的窗体中有一个下拉式列表框(名称为Combol)和两个文本框(名称分别为Txtl和Txt2)。运行时,用户从Combol的列表中进行选择,程序就会将选中条目的内容以及编号(从0开始)分别在文本框 Txt1 和 Txt2 中显示出来。程序代码5.1Private Sub Combol_C1ick()Txtl.Text = Combol._(1)_Txt2.Text = Combol._(2)_End Sub(注:可供(2)处选择的选项:List,Index,Listlndex,ListCount,Number)应用说明5.2本应用程序的运行窗口如下图所示: 当用户在输入框(名为Txtln)中输入数值数据,并从下拉式列表框(名为CmbOp)中选择所需的运算后,输出框(名为TxtOut)中就会显示运算的结果。用户单击“清除”按钮(名为CmdClear)后,输入框和输出框都清空。开发该应用的部分程序代码如下:程序代码5.2Private Sub CmbOp_Click()Dim DataIn As Double,DataOut as DoubleDataIn = _(3)_Select Case _(4)_Case 取整数部分DataOut = Int(Dataln)Case 求平方根If Dataln next | !Lb-next | lennext; prep = La;while (p & p-key != keyl)/* 查找表A中键值为key1的结点 */prep = p; p = p-nex
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号