计算机水平考试-初级程序员下午试题模拟50

计算机水平考试-初级程序员下午试题模拟50

ID:42846672

大小:178.50 KB

页数:7页

时间:2019-09-23

计算机水平考试-初级程序员下午试题模拟50_第1页
计算机水平考试-初级程序员下午试题模拟50_第2页
计算机水平考试-初级程序员下午试题模拟50_第3页
计算机水平考试-初级程序员下午试题模拟50_第4页
计算机水平考试-初级程序员下午试题模拟50_第5页
资源描述:

《计算机水平考试-初级程序员下午试题模拟50》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、初级程序员下午试题模拟50试题一阅读以下说明和流程图,填补流程图中的空缺⑴〜(5),将解答填入对应栏中。[说明]一个数如果恰好等于它的因子之和,这个数就是''完数〃,如6=14-2+3,下面流程图完成寻找1000以内的完数,并将其因了存放在k[n]中,最后打卬结果。注:流程屮循环开始的说明按照''循环变量:循环初值,循环终值,增量〃格式描述。[问题]将流程图的1〜2处补充完整。试题二阅读下列函数说明和C代码,将应填入(n)处的字句写在对应栏内。[说明]函数move(int*a,intn)用于整理数组沁]的前ri个元素,使其屮小于零的元素移到数组的前端,大于零的元索移到数组的后端,等于零的元索留

2、在数组中间。令a[0]Jf[low小于零(初始为空);allow]〜等于零(初始为空);a[i]〜a[high]还未考察,当前考察元素为a[i]。a[high+1]〜a[n-1]大于零(初始为空)。[函数]move(int*a,intn){inti,low,high,t;low=i=0;high=n-l;while(6)if(a[i]<0){t=a[i];a[i]=a[low];a[low]=t;7;i++;}elseif(8){t=a[i];a[i]=a[high];a[high]=t;_9_;}else10;}—试题三阅读下列函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明

3、]函数perm(intn,char*s)用已知字符串s屮的字符,生成由其屮n个字符组成的所有字符排列。设n小于字符串s的字符个数,其中s中的字符在每个排列中最多出现一次。例如,对于s[]=''abe",n=2,贝9所有字符排歹U有:ba,ca,ab,cb,ac,be。[函数]#defineN20charw[N];perm(intn,char*s){charsi[N];inti;if(H)printf("%s",w);else{strepy(sl,s);for(i=0;12;i++){—13;14;*sl=*(w+n-1);15;试题四阅读下列函数说明和C语言函数,将应填入(n)处的字句写在

4、对应栏内。[说明]函数ELEM*proc(FILE*fp)从文件fp中逐个读入职工的工号及其完成的产品数量,对相同工号的产品数量计入该职工完成的产品总数,并且按照产品总数降序排列,若多个职工完成的产品总数相同,则按工号升序排列。在函数中建立了一个有序链表,来存储每个职工的工号和完成产品总数等数据,其结点类型为:typedefstructELE{intno;/*职工工号★/intnum;/*完成的产品总数*/structELE*next;}ELEM;[函数]ELEM*proc(FILE*fp){intmzn;ELEM*uz*v,*p,*base;base=NULL;/*bese是链表的首指针*/

5、while(fscanf(fp,n%d%d"z&n,&m)==2){/*链表中是否存在工号弘n的结点*/for(v=base;v!=NULL&&v->no!=n;16);if(v!=NULL){/*若链表中已有工号为n的结点v,则将其从链表中脱钩*/if(17)base=v->next;elseu->next=v->next;v->num+=m;/*累加工号为n的职工完成的产品数量*/}else{/*创建一个工号为n的结点*/v=(ELEM*)malloc(sizeof(ELEM));V->no=n:V->num=m;}八寻找结点V的插入位置★/p=base;while(p!=NULL)if(

6、v->num>p->num

7、

8、v->num==p->num&&18)break;else{u=p;p=p->next;}/*将结点V插入链表*/if(p==base)19;elseu->next=v;20;}—returnbase;}试题五阅读下列说明和C++程序,将应填入(⑴处的字句写在对应栏内。[说明]下面程序实现十进制向其他进制的转换。[C++程序]#includeHiostream.h11#include"math・h”#includetypedefstructnode{intdata;node*next;}Node;classTransform{public:voi

9、dTrans(intdzinti);//d为数字;i为进制voidprint26;private:Node*top;voidTransform::Trans(intd,inti)intm,n=0;Node*p;while(d>0){21;d=d/i;p=newNode;if(In){p->data=m;20;_23_;n++;else{p->data=m;24;25;/voidTransform:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。