ImageVerifierCode 换一换
格式:DOC , 页数:4 ,大小:50.50KB ,
资源ID:1330091      下载积分:5000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-1330091.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(【计算机类职业资格】初级程序员下午试题-30及答案解析.doc)为本站会员(sofeeling205)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】初级程序员下午试题-30及答案解析.doc

1、初级程序员下午试题-30 及答案解析(总分:120.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:15.00)1.说明 已知递推数列:a(1)=1,a (2s)= a (s),a(2s+1)=a (s)+a (s+1)(s 为正整数)。试求该数列的第 n 项与前 n 项中哪些项最大?最大值为多少? 算法分析:该数列序号分为奇数或偶数两种情况做不同递推,所得数列呈大小有规律的摆动。设置 a 数组,赋初值 a (1)=1。根据递推式,在循环中分项序号 s (2n)为奇数或偶数作不同递推:每得一项 a (s),即与最大值 max 作比较,如果 a (s)max,则max=a(i)。

2、最后,在所有项中搜索最大项(因最大项可能多于一项),并打印最大值 max。 问题 将流程图中的(1)(5)处补充完整。 注:流程图中(1)循环开始的说明按照“循环变量名:循环初值,循环终值,增量”格式描述。 流程图 (分数:15.00)填空项 1:_二、B试题二/B(总题数:1,分数:15.00)2.函数 2.1 说明 将一个正整数分解质因数。例如:输入 90,打印出 90=2335。 函数 2.1 fun 1 ( int n ) int i; for ( i=2;i=n; i+) while (U (1) /U) if (n %i=0 ) printf ( “%d*“,i ); U (2)

3、/U else break; printf ( “%d“,n ) ; 函数 2.2 说明 下面程序的功能是:海滩上有一堆桃子,5 只猴子来分。第 1 只猴子把这堆桃子平均分为 5 份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第 2 只猴子把剩下的桃子又平均分成 5 份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第 3、第 4、第 5 只猴子都是这样做的,问海滩上原来最少有多少个桃子? 函数 2.2 main ( ) int i, m, j, k, count; for ( i=4;i10000;i+=4 ) count=0; U (3) /U; for ( k=0;k5;k+

4、 ) U (4) /U; i=j; if ( j%4=0 ) U (5) /U;else break; i=m; if ( count=4 ) printf ( “%d/n“, count) ; break; (分数:15.00)填空项 1:_三、B试题三/B(总题数:1,分数:15.00)3.说明 完成以下中序线索化二叉树的算法。 函数 Typedef int datatype; Typedef struct node Int ltag, rtag; Datatype data; *lchild,* rchild; bithptr; bithptr pre; void inthread (

5、p ); if inthread ( p-lchild ); if ( p-lchild=unll )U (1) /U; if ( P-RCHILD=NULL) p-rtag=1; ifU (2) /U ifU (3) /Upre-rchild=p; if ( p-1tag=1 )U (4) /U; INTHREAD ( P-RCHILD ); U (5) /U; (分数:15.00)填空项 1:_四、B试题四/B(总题数:1,分数:15.00)4.说明 如图所示的一圆圈上分布 6 个环,请在每个环中填一个数字,使得从任一环开始按顺时针所得的六位数与按逆时针所得的 6 位数都为素数。 (分数:

6、15.00)填空项 1:_五、B试题五/B(总题数:1,分数:15.00)5.说明 本程序求 3100 之间的所有素数(质数)并统计个数;同时将这些素数从小到大依次写入顺序文件 E: /dataout.txt;素数的个数显示在窗体 Form1 上。 Visual Basic 代码 Private Sub Command1_ Click ( ) Dim count as integer, flag as Boolean Dim t1 as Integer, t2 as Integer U (1) /U Count=0 For t1=3 to 100 Flag=Tree For t2=2 to I

7、nt( Sqr ( t1 ) ) IfU (2) /UThen flag=False Next t2 U (3) /U count=U (4) /U write #1, t1 End if Next t1 U (5) /U Close #1 End Sub(分数:15.00)填空项 1:_六、B试题六/B(总题数:1,分数:15.00)6.说明 用输入/输出写一个程序,让用户输入一些姓名和电话号码。每一个姓名和号码将加在文件里。用户通过点“Done”按钮来告诉系统整个列表已输入完毕。 如果用户输入完整的列表,程序将创建一个输出文件并显示或打印出来。格式如:555,1212,Tom 123-45

8、6-7890,Peggy L.234-5678,Marc 234-5678,Ron 876-4321,Beth byte name=new byte lineLength; int i; try fos= new FileOutputStream (“phone. numbers“); catch (FileNotFoundException e) while (true) U(1) /U(“Enter a name (enter done to quit)“); U(2) /U (name); if (“done“. equalsIgnoteCase (new String (name,0,

9、0,4) break; System.err.println (“Enter the phone number“); readLine (phone);for (int i=0;phone i!=0;i+) U(3) /U; fos.write (,); for (int i=0U (4) /U;i+) fos. write (name i); fos. write (/n); fos. close(); private static void readLine (byte line ) throws IOException int i=0,b=0; while (iU (5) /U) lin

10、ei= ( byte ) 0; (分数:15.00)填空项 1:_七、B试题七/B(总题数:1,分数:15.00)7.说明以下是一账号和密码输入的检验程序。对输入的账号和密码规定如下所述。(1)账号为不超过 6 位的数字,密码为 4 位字符,在本题中,密码假定为“Pass”。(2)密码输入时在屏幕上不显示输入的字符,而以“*”代替。(3)当输入不正确,如账号为非数字字符或密码不正确时,显示有关信息。(4)当输入正确时,关闭密码窗口,显示记事本窗口。按要求完成有关控件的其他属性的设置,编写确定按钮的单击事件过程。相关界面如下:(分数:15.00)填空项 1:_八、B试题八/B(总题数:1,分数:

11、15.00)8.说明 设计一程序,输入 10 个整数到一个数组中,调整这 10 个数在数组中的位置,使得其中最小的一个数成为数组的首元素,最大的一个数成为数组的末元素。 C+程序 #include iostream.h #define SIZE 10 void main ( ) int data SIZE; int m; cout“请输入“SIZE“个整数:“; for ( m=0;mSIZE; m+ )U (1) /U; int j=0,k=0; for ( int i=1;iSIZE; i+ ) if (U (2) /U) j=i; else if ( dataidatak )U (3)

12、/U; if (j0 ) int d=data0; U (4) /U; datak=d; if ( kSIZE-1 ) int d=data SIZE- 1 ; dataSIZE- 1 =dataj; U (5) /U; coutend1“ 排序后: “; for ( m=0;mSIZE; m+ ) coutdatam“ “ ; (分数:15.00)填空项 1:_初级程序员下午试题-30 答案解析(总分:120.00,做题时间:90 分钟)一、B试题一/B(总题数:1,分数:15.00)1.说明 已知递推数列:a(1)=1,a (2s)= a (s),a(2s+1)=a (s)+a (s+1)

13、(s 为正整数)。试求该数列的第 n 项与前 n 项中哪些项最大?最大值为多少? 算法分析:该数列序号分为奇数或偶数两种情况做不同递推,所得数列呈大小有规律的摆动。设置 a 数组,赋初值 a (1)=1。根据递推式,在循环中分项序号 s (2n)为奇数或偶数作不同递推:每得一项 a (s),即与最大值 max 作比较,如果 a (s)max,则max=a(i)。最后,在所有项中搜索最大项(因最大项可能多于一项),并打印最大值 max。 问题 将流程图中的(1)(5)处补充完整。 注:流程图中(1)循环开始的说明按照“循环变量名:循环初值,循环终值,增量”格式描述。 流程图 (分数:15.00)

14、填空项 1:_ (正确答案:(1)for s=2 to n (2) mod(s,2)=0)解析:(3) a(s)=a(s/2) (4) a(s)=a(s+1)/2+a(s-1)/2) (5) max=a(s)二、B试题二/B(总题数:1,分数:15.00)2.函数 2.1 说明 将一个正整数分解质因数。例如:输入 90,打印出 90=2335。 函数 2.1 fun 1 ( int n ) int i; for ( i=2;i=n; i+) while (U (1) /U) if (n %i=0 ) printf ( “%d*“,i ); U (2) /U else break; printf

15、 ( “%d“,n ) ; 函数 2.2 说明 下面程序的功能是:海滩上有一堆桃子,5 只猴子来分。第 1 只猴子把这堆桃子平均分为 5 份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第 2 只猴子把剩下的桃子又平均分成 5 份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第 3、第 4、第 5 只猴子都是这样做的,问海滩上原来最少有多少个桃子? 函数 2.2 main ( ) int i, m, j, k, count; for ( i=4;i10000;i+=4 ) count=0; U (3) /U; for ( k=0;k5;k+ ) U (4) /U; i=j; if

16、( j%4=0 ) U (5) /U;else break; i=m; if ( count=4 ) printf ( “%d/n“, count) ; break; (分数:15.00)填空项 1:_ (正确答案:(1) n!=i (2) n=n/i)解析:(3) m=i (4) j=i/4*5+1 (5) count+三、B试题三/B(总题数:1,分数:15.00)3.说明 完成以下中序线索化二叉树的算法。 函数 Typedef int datatype; Typedef struct node Int ltag, rtag; Datatype data; *lchild,* rchild

17、; bithptr; bithptr pre; void inthread ( p ); if inthread ( p-lchild ); if ( p-lchild=unll )U (1) /U; if ( P-RCHILD=NULL) p-rtag=1; ifU (2) /U ifU (3) /Upre-rchild=p; if ( p-1tag=1 )U (4) /U; INTHREAD ( P-RCHILD ); U (5) /U; (分数:15.00)填空项 1:_ (正确答案:(1) P-LTAG=0 (2) (PRE))解析:(3) (PRE-RTAG=1) (4) P-LCH

18、ILD=PRE (5) PRE=P四、B试题四/B(总题数:1,分数:15.00)4.说明 如图所示的一圆圈上分布 6 个环,请在每个环中填一个数字,使得从任一环开始按顺时针所得的六位数与按逆时针所得的 6 位数都为素数。 (分数:15.00)填空项 1:_ (正确答案:(1)m=n (2) u=m %100000)解析:(3) m1=t*100000+m1 (4) m1% j=0 (5) m=u*10+t五、B试题五/B(总题数:1,分数:15.00)5.说明 本程序求 3100 之间的所有素数(质数)并统计个数;同时将这些素数从小到大依次写入顺序文件 E: /dataout.txt;素数的

19、个数显示在窗体 Form1 上。 Visual Basic 代码 Private Sub Command1_ Click ( ) Dim count as integer, flag as Boolean Dim t1 as Integer, t2 as Integer U (1) /U Count=0 For t1=3 to 100 Flag=Tree For t2=2 to Int( Sqr ( t1 ) ) IfU (2) /UThen flag=False Next t2 U (3) /U count=U (4) /U write #1, t1 End if Next t1 U (5)

20、 /U Close #1 End Sub(分数:15.00)填空项 1:_ (正确答案:(1) Open “e:/dataout.txt“ For Output as #1 (2) t1 mod t2=0)解析:(3) If t2Int (sqr(t1)Then (4) count +1 (5) Form1.Print “素数个数“; count六、B试题六/B(总题数:1,分数:15.00)6.说明 用输入/输出写一个程序,让用户输入一些姓名和电话号码。每一个姓名和号码将加在文件里。用户通过点“Done”按钮来告诉系统整个列表已输入完毕。 如果用户输入完整的列表,程序将创建一个输出文件并显示

21、或打印出来。格式如:555,1212,Tom 123-456-7890,Peggy L.234-5678,Marc 234-5678,Ron 876-4321,Beth byte name=new byte lineLength; int i; try fos= new FileOutputStream (“phone. numbers“); catch (FileNotFoundException e) while (true) U(1) /U(“Enter a name (enter done to quit)“); U(2) /U (name); if (“done“. equalsIg

22、noteCase (new String (name,0,0,4) break; System.err.println (“Enter the phone number“); readLine (phone);for (int i=0;phone i!=0;i+) U(3) /U; fos.write (,); for (int i=0U (4) /U;i+) fos. write (name i); fos. write (/n); fos. close(); private static void readLine (byte line ) throws IOException int i

23、=0,b=0; while (iU (5) /U) linei= ( byte ) 0; (分数:15.00)填空项 1:_ (正确答案:(1)System. err. println (2) readLine)解析:(3) fos. write(phonei) (4) namei!=0 (5) lineLength-1七、B试题七/B(总题数:1,分数:15.00)7.说明以下是一账号和密码输入的检验程序。对输入的账号和密码规定如下所述。(1)账号为不超过 6 位的数字,密码为 4 位字符,在本题中,密码假定为“Pass”。(2)密码输入时在屏幕上不显示输入的字符,而以“*”代替。(3)当输

24、入不正确,如账号为非数字字符或密码不正确时,显示有关信息。(4)当输入正确时,关闭密码窗口,显示记事本窗口。按要求完成有关控件的其他属性的设置,编写确定按钮的单击事件过程。相关界面如下:(分数:15.00)填空项 1:_ (正确答案:(1) End If (2) en (txt No. Text))解析:(3) Asc(s) Asc(“0“) (4) Asc(s) Asc(“9“) (5) txtNo. Text= “ “八、B试题八/B(总题数:1,分数:15.00)8.说明 设计一程序,输入 10 个整数到一个数组中,调整这 10 个数在数组中的位置,使得其中最小的一个数成为数组的首元素,

25、最大的一个数成为数组的末元素。 C+程序 #include iostream.h #define SIZE 10 void main ( ) int data SIZE; int m; cout“请输入“SIZE“个整数:“; for ( m=0;mSIZE; m+ )U (1) /U; int j=0,k=0; for ( int i=1;iSIZE; i+ ) if (U (2) /U) j=i; else if ( dataidatak )U (3) /U; if (j0 ) int d=data0; U (4) /U; datak=d; if ( kSIZE-1 ) int d=data SIZE- 1 ; dataSIZE- 1 =dataj; U (5) /U; coutend1“ 排序后: “; for ( m=0;mSIZE; m+ ) coutdatam“ “ ; (分数:15.00)填空项 1:_ (正确答案:(1)ndata m (2) dataidataj)解析:(3) k=i (4) data0=datak (5) dataj=d

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1