资源描述:
《最全程序员软考考试下午模拟试题合集》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、申明:此为最全程序员软考考试下午模拟试题合集,一共32套。均配有答案。由于文件过大,拆成上午试题和下午试题,在百度文库同样可以搜索“最全程序员软考考试上午模拟试题合集“。此外还有程序员软考试题真题提供,百度文库搜索“最全历年程序员软考考试上午真题合集”和“最全历年程序员软考考试下午真题合集”。每套后面均配有答案,接近30套,每年两套。注:如果图片显示不全,适当将图片缩小即可。过来人总结,多做做下午场试题,最好打印。上午场试题对着电脑即可,只要不是一点不懂基本上午场没问题。初级程序员下午试题模拟37试题一阅读以下说明和流程图,填补流程图中的空缺1~2,将解答填入对应栏内。 [说明]
2、 假设数组A中的各元素A1,A4,…,A(M)已经按从小到大排序(M≥1);数组B中的各元素B1,B4,…,B(N)也已经按从小到大排序(N≥1)。执行下面的流程图后,可以将数组A与数组B中所有的元素全都存入数组C中,且按从小到大排序(注意:序列中相同的数全部保留并不计排列顺序)。例如,设数组A中有元素:2,5,6,7,9;数组B中有元素:2,3,4,7;则数组C中将有元素:2,2,3,4,5,6,7,7,9。 [流程图] 试题二阅读以下说明和C函数,将应填入(n)处的字句写在答题纸的对应栏内。 [说明] 某单位准备进行一次选举,对指定的n名(n<80)候选人进行投票。为
3、了简化选举工作,事先印制了写有这n名候选人姓名的选票,投票者只需将选中者名下的圆圈涂黑即可。规定每张选票上被涂黑的圆圈数不得超过3个,也不得少于1个,否则视为无效选票。投票结束后,所有选票经计算机扫描处理,形成了描述选票状态的文本文件。例如,n=8时所形成的文件如下: 01011000 10010100 10011000 11111111 00000000 00111000 其中,每行表示一张选票的数据,每列代表一位候选者的得票情况。第i行第j列为1,表示第i张选票上投了第j名候选人1票。函数statistic15的功能是读入选票数据,并统计每位候选者的得票数,函数返
4、回有效选票数。 [C语言函数] intstatistic(FILE*fp,intcandidate[],intn) { /*从文件中读入选票数据,n为候选人数量(n<80), 从有效选票中统计每位候选者的得票数并存入candidate[],函数返回有效选票数*/ charstr[80]; /*str保存读入的一张选票数据*/ inti,tag=0;/*tag用于判断每张选票是否有效*/ intq=0;/*q用于计算有效选票数*/ for(i=0;i<n;i++) candidate[i]=0; while( 10 ) {
5、 fgets(str,80,fp);/*读入一张选票数据*/ for(tag=0,i=0;( 11 );i++) if(str[i]=='1')tag++; if( 12 ) {/*(若是有效选票,则进行统计*/ ( 13 ); for(i=0;i<n;i++) if(str[i]=='1') 14 ; } } returnq; }/*statistic*/试题三阅读以下说明和C语言函数,将应填入(n)处的字句写在答题纸的对应栏内。 [说明]一棵非空二叉树中“最左下”结点定义为:若树根
6、的左子树为空,则树根为“最左下”结点:否则,从树根的左子树根出发,沿结点的左孩子分支向下查找,直到某个结点不存在左孩子时为止,该结点即为此二叉树的“最左下”结点。例如,下图所示的以A为根的二叉树的“最左下”结点为D,以C为根的子二叉树中的“最左下”结点为C。 二叉树的结点类型定义如下: typedefstructBSTNode{ int data; structBSTNode*1ch,*rch; /*结点的左、右孩子指针*/ }*BSTree; 函数BSTreeFind_Del(BSTreeroot)的功能是:若root指向一棵二叉树的根结点,则找出该结点的
7、右子树上的“最左下”结点*p,并从树下删除以*p为根的子树,函数返回被册除子树的根结点指针:若该树根的右子树上不存在“最左下”结点,则返回空指针。 [函数] BSTreeFind_Del(BSTreeroot) { BSTreep,pre; if(!root)returnNULL; /*root指向的二叉树为空树*/ 15 ; /*令p指向根结点的右子树*/ if(!p)returnNULL; 16 ; /*设置pre的初