资源描述:
《CC++每天一道基础题.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、试题1在排序算法中每一项都与其他诸项进行比较,计算出小于该项的项的个数,以确定该项的位置叫_A_。散列函数有一个共同性质,即函数值应当以_B_取其值域的每个值。设有两个串p和q,其屮q是P的了串。把q在p屮首次出现的位置作为了串q在p中的位置的算法称为如果要求一个线性表既能较快地查找,又能适应动态变化的要求,则可采用_D_的方法。算法的计算量的大小称为计算的_E_。供选择的答案:A:①插入排序②交换排序③选择排序④枚举排序B:①最大概率②最小概率③平均概率④同等概率C:①联接②匹配③求了串④求串长D:①分块②顺序③二分法④基于属性E:①现实性②难度③复杂性④效率大家好:公布昨天问题的答
2、案:题号解答A解答B解答C答E试题1答案442解答D11、栈和队列的共同特点是()A)都是先进先出B)都是先进后出C)只允许在端点处插入和删除元素D)没有共同点答案:已知二叉树后序遍历序列是dabec,屮序遍历序列是debac,它的前序遍历序列是A)acbedB)decabC)deabcD)cedba答案:D链表不具有的特点是A)不必事先估计存储空间B)可随机访问任一元素C)插入删除不需要移动元素D)所需空间与线性表长度成正比答案:B结构化程序设计的3种结构是A)顺序结构、选择结构、转移结构B)分支结构、等价结构、循环结构C)多分支结构、赋值结构、等价结构D)顺序结构、选择结构、循环结
3、构为了提高测试的效率,应该A)随机选取测试数据B)取一切可能的输入数据作为测试数据C)在完成编码以后制定软件的测试计划D)集中对付那些错误群集的程序答案:D算法的时间复杂度是指A)执行算法程序所需要的时间B)算法稈序的长度C)算法执行过程屮所需要的基木运算次数D)算法程序中的指令条数答案:c软件生命周期•11所花费用最多的阶段是A)详细设计B)软件编码C)软件测试D)软件维护答案:D[程序说明]函数vr6174是对卡布列克运算的验证程序。所谓卡布列克运算,是指任意一个四位数,只要它们各个位上的数字不全相同,就有这样的规律:(1)把组成这个四位数的四个数字由大到小排列,形成由这四个数字构
4、成的最大的四位数;(2)把组成这个四位数的四个数字由小到大排列,形成由这四个数字构成的最小的四位数(如果四个数字中含有0,则此数不足四位);(3)求出以上两数之差,得到一个新的四位数。重复以上过程,总能得到最后的结果是6174。如果当n=5346时调用vr6174(n),便会输出以下结果:6543-3456=30878730-378=83528532-2358=6174函数vr6174采用了递归算法,并调用parse_sort和max_min函数。其中parse.sort函数把所给的四位数分解为四个一位数字,并将其从小到大排序,放入数组each;max_min函数根据each的值形成所
5、要求的最大四位数和最小四位数。[程序]vr6147(num)intnum;inteach[4],max,min;if(num!=6174&&num){parse_sort(num,each);max_min(①num=max_min;printf(”%d・%d=%d",max,min,num),vr6174(nurn);}elseprintf(MM);return;}parse_sort(num,each)intnum,*each;inti,*j,*k,temp;for(i=0;i<4;i++)j=each+3-i;—②_;hum=num/10;}for(i=0;i<3;i++)f
6、or(j=each^k=each+1;;j*k){temp=*j;*j=*k;*k=temp;}}retrun;}max_min(each,max,min)int^each,*max,*min;{int*i;min=Ofor(i=each;i=each;i・・)*max=_@_;return;}答案:(1)each,&max,&min(2)*j=num%10(3)j++,K++(4)*min*10+*i(5)max*10+*i写了一个程序,大家看看,虽然有点繁杂
7、,但结果是对的。——ByAc2_ZYF・C++#ineludeusingnamespacestd;constintFinal_Val=6174;intmain(){〃输入这个四位数〃判断所输入的四位数是否合格〃将四位数由人到小排列intlnput();boolQulify(intvalue);intMax_Sort(intvalue);intMin_Sort(intvalue);voidOperate(intvalue);〃