【计算机类职业资格】初级程序员下午试题-81及答案解析.doc
《【计算机类职业资格】初级程序员下午试题-81及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】初级程序员下午试题-81及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、初级程序员下午试题-81 及答案解析(总分:90.00,做题时间:90 分钟)一、试题一(总题数:1,分数:15.00)1.【说明】下列流程图用泰勒(Taylor)展开式 y=ex=1+x+x2/2!+x3/3!+xn/n!+计算并打印 ex的近似值,其中用(0)表示误差要求。【流程图】(分数:15.00)_二、试题二(总题数:1,分数:15.00)2.【说明】希赛教育集团公司为发展生产向社会公开招聘 M个工种的工作人员,每个工种各有不同的编号(1 至 M)和计划招聘人数。每位应聘者需申报两个工种,并参加公司组织的考试。公司将按应聘者的成绩从高分至低分的顺序进行排队录取。公司的录取原则是:从高
2、分到低分依次对每位应聘者先按其第一志愿录取;当不能按其第一志愿录取时,便将他的成绩扣去 5分后,重新排队,并按其第二志愿考虑录取。程序为输出各工种实际招聘的应聘人员,每个工种都保留一个录取者的有序队列。录取处理循环直至招聘额满或已对全部应聘者都做了录取处理。程序中,类型 STU包含有应聘者的基本信息:编号、成绩、志愿、排队成绩和录取志愿号。数组 rz的每个元素对应一个工种,包含有计划招聘人数和已录取的人数。【程序】#includestdio.h#includemalloc.h#define M 20#define PEMARK 5typedef struct stuint no, total,
3、 z2, sortm, zi;struct stu *next;STU;struct rzmodeint Imt, count;STU *next;rzM;STU *head=NULL, *over=NULL;int allFILE *fp;char dataf=“pp07.dat“;print(STU *p)for(;p!=NULL;p=p-next)printf(“%d(%d)/t“,p-no,p-total);insert(STU *p, STU *u)STU *v, *q;for(q=*p;q!=NULL;v=q, (1) )if(q-sortmu-sortm)break;if(q=*
4、p) (2) ;else (3) ;U-next=q;main()int zn, i, no, total, z1, z2;STU *p, *v, *q;fp=fopen(dataf, “r“);if(fp=NULL)printf(“Cant open file %s./n“,dataf);exit(0);fscanf(fp, “%d“,for(all=0,i=1;i=zn;i+)fscanf(fp,“%d“,rzi.count=0;rzi.next=NULL;all+= (4) ;for(;)if(fscanf(fp, “%d%d%d%d“,p=(STU*)malloc(sizeof(STU
5、);p-no=no;p-total=p-sortm=total;p-zi=0;p-z0=z1;p-z1=z2;(5) ;fclose(fp);for(;all )p=head; head=head-next;if(rzp-zp-zi.count (6) )rzp-zp-zi.count+;insert(all-;continue;if(p-zi=1)p-next=over;over=p;continue;p-sortm-=DEMARK; (7) ;insed(for(i=1;i=zn;i+)printf(“%d:/n“,i);print(rzi.next);printf(“/n“);print
6、f(“over:/n“);print(head);print(over);printf(“/n“);(分数:15.00)_三、试题三(总题数:1,分数:15.00)3.【说明】有 n个整数,使其前面各数顺序向后移 m个位置,最后 m个数变成最前面的 m个数。【函数】main()int number20,n,m,i;printf(“the total numbers is:“);scanf(“%d“,printf(“back m:“);scanf(“%d“,for(i=0;i=n-1;i)scanf(“%d,“,(1) ;for(i=0;i=n-1;i)printf(“%d,“,numberi)
7、;move(array,n,m)int n,m,array20;int *p,array_end;array_end= (2) ;for(p=arrayn-1; (3) ;p-)*p= (4) ;*array=array_end;m-;if(m0) (5) ;(分数:15.00)_四、试题四(总题数:1,分数:15.00)4.【说明】编写程序,对于从键盘输入的 3个实数 a、b、c,计算实系数一元二次方程的根并输出所求的根。【函数】#includesldio.h#includesldlib.h#includemath.hMain()float a,b,c,delta,x1,x2;printf(
8、“Enter a,b,c“);scanf(“%f%f%f“,if( (1) )if( (2) )printf(“Input error!/n“);elseprintf(“The single root is%f/n“, (3) );elsedelta=b*b-4*a*c;if( (4) )x1=(-b+sqrt(delta)/(2*a);x2=(-b-sqrt(delta)/(2*a);printf(“x1=%8.2f/nx2=%8.2f/n“,x1,x2,);else if(delta=0)printf(“x1=x2=%8.2f/n“, (5) ;elsePrintf(“z2=%8.2f+%
9、8.2f*i/n“,-b/(2*a),sqrt(-delta)/)(2*abs(a);Printf(“z2=%8.2f-%8.2f*i/n“,-b/(2*a),sqrt(-delta)/(2*abs(a);(分数:15.00)_五、试题五(总题数:1,分数:15.00)5.【说明】在下面程序横线处填上适当的字句,3 个(2)空填的是一样的。使其输出结果为:x=5x=6y=7x=8z=9【程序】#includeiostream.hclass X1int x;(1) ;X1(int xx=0)x=xx;(2) void Output()cout“x=“xend;(3) Y1:public X1in
10、t y;public:Y1(int xx=0,int yy=0);X1(xx)y=yy;(2) void Output()(4) Output();cout“y=“yendl;class Z1:public X1int z:(5) ;Z1(int xx=0,int zz=0):X1(xx)(z=zz;(2) void Output()X1Output();cout“z=“zendl;void main()X1 a(5);Y1 b(6,7);Z1 c(8,9);X1*p3=For(int i=0;i3;i+)pi-Output();coutendl;(分数:15.00)_六、试题六(总题数:1,
11、分数:15.00)6.【说明】下面代码里,instr 是一个抽象类,它被两个子类 wind和 rain分别实现,而 brass又继承了 wind类,并覆盖了 play方法。【程序】(1) class instr(2) Void play();class wind (3) instrvoid play()System.out.println(“wind play!“);class rain extends instr void play()System.out.println(“rain play!“);class brass extends (4) void play()System.out.
12、println(“brass play!“);public class musicstatic void tuneAll(instr e)for(int i=0;ie.length;i+)ei.play();public (5) void main(Stringargs)instr orch=new instr3;int i=0;orchi+=new wind();orchi+=new rain();orchi+=new brass();tuneAll(orch);(分数:15.00)_初级程序员下午试题-81 答案解析(总分:90.00,做题时间:90 分钟)一、试题一(总题数:1,分数:1
13、5.00)1.【说明】下列流程图用泰勒(Taylor)展开式 y=ex=1+x+x2/2!+x3/3!+xn/n!+计算并打印 ex的近似值,其中用(0)表示误差要求。【流程图】(分数:15.00)_正确答案:(0 (2)0 (3)|t|:(4)s+1 (5)t*x/s)解析:分析本题考查程序流程图的内容。首先让我们来了解一下题目的真正含义,题目要求用泰勒展开式计算 y=ex的近似值。并且给出了误差要求,只要当误差小于 时,就可以输出计算结果了。泰勒展开式的式子是 n项之和,每多加一项,其值就越接近真实值。因此,在程序设计时,每加一项之前,先进行此项与 的比较,来判定计算结果是否已满足题目要求
14、。从流程图中看到有 S、y、t、x 这几个变量。其中 x、y 是公式中的变量,而 S、t 则是中间变量。从yy+t 语句可以看出,t 是每次要加的项,S 则是帮助 t改变的变量。在计算开始前,我们应该将 y的值赋为零,因此,第(2)空答案就为 0;而 S在 t没发生变化的初值也应该是 0,即第(1)空答案为 0。第(3)空处是个条件判断语句,应该是进行该加项与 比较判断,因此第(3)空的答案是|t|:。第(4)空与第(5)空要一起考虑。由于 S是帮助 t改变的变量,而 t的每次改变是分母乘以一个加 1的数,而分子乘以 x。这里假设 S是帮助 t改变分母的变量,第(4)空应填 s+1,那么第(5
15、)空应该为 t*x/s。二、试题二(总题数:1,分数:15.00)2.【说明】希赛教育集团公司为发展生产向社会公开招聘 M个工种的工作人员,每个工种各有不同的编号(1 至 M)和计划招聘人数。每位应聘者需申报两个工种,并参加公司组织的考试。公司将按应聘者的成绩从高分至低分的顺序进行排队录取。公司的录取原则是:从高分到低分依次对每位应聘者先按其第一志愿录取;当不能按其第一志愿录取时,便将他的成绩扣去 5分后,重新排队,并按其第二志愿考虑录取。程序为输出各工种实际招聘的应聘人员,每个工种都保留一个录取者的有序队列。录取处理循环直至招聘额满或已对全部应聘者都做了录取处理。程序中,类型 STU包含有应
16、聘者的基本信息:编号、成绩、志愿、排队成绩和录取志愿号。数组 rz的每个元素对应一个工种,包含有计划招聘人数和已录取的人数。【程序】#includestdio.h#includemalloc.h#define M 20#define PEMARK 5typedef struct stuint no, total, z2, sortm, zi;struct stu *next;STU;struct rzmodeint Imt, count;STU *next;rzM;STU *head=NULL, *over=NULL;int allFILE *fp;char dataf=“pp07.dat“;
17、print(STU *p)for(;p!=NULL;p=p-next)printf(“%d(%d)/t“,p-no,p-total);insert(STU *p, STU *u)STU *v, *q;for(q=*p;q!=NULL;v=q, (1) )if(q-sortmu-sortm)break;if(q=*p) (2) ;else (3) ;U-next=q;main()int zn, i, no, total, z1, z2;STU *p, *v, *q;fp=fopen(dataf, “r“);if(fp=NULL)printf(“Cant open file %s./n“,data
18、f);exit(0);fscanf(fp, “%d“,for(all=0,i=1;i=zn;i+)fscanf(fp,“%d“,rzi.count=0;rzi.next=NULL;all+= (4) ;for(;)if(fscanf(fp, “%d%d%d%d“,p=(STU*)malloc(sizeof(STU);p-no=no;p-total=p-sortm=total;p-zi=0;p-z0=z1;p-z1=z2;(5) ;fclose(fp);for(;all )p=head; head=head-next;if(rzp-zp-zi.count (6) )rzp-zp-zi.count
19、+;insert(all-;continue;if(p-zi=1)p-next=over;over=p;continue;p-sortm-=DEMARK; (7) ;insed(for(i=1;i=zn;i+)printf(“%d:/n“,i);print(rzi.next);printf(“/n“);printf(“over:/n“);print(head);print(over);printf(“/n“);(分数:15.00)_正确答案:(1)q=q-next 或 q=v-next (2)*p=u(3)v-next=u (4)rzi.1mt(5)insert(for(q=*p;q !=NU
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 初级 程序员 下午 试题 81 答案 解析 DOC
