【计算机类职业资格】初级程序员下午试题-40及答案解析.doc
《【计算机类职业资格】初级程序员下午试题-40及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】初级程序员下午试题-40及答案解析.doc(11页珍藏版)》请在麦多课文档分享上搜索。
1、初级程序员下午试题-40 及答案解析(总分:104.00,做题时间:90 分钟)一、试题一(总题数:1,分数:-1.00)1.流程图(分数:-1.00)_二、试题二(总题数:1,分数:15.00)2.函数 2.1说明函数 fun1 (int m, int k, int xx )的功能是:将大于整数 m且紧靠 m的 k个素数存入数组 xx中传回。例如:若输入 17,5,则应输出:19,23,29,31,37。函数 2.1fun1 (int m, int k, int xx )inti, j, s=0;for ( i=m+1; k0; i+ )for (j=2; ji; j+ )if ( i %j
2、=0 )(1) if( i=j )(2) k-; 函数 2.2说明函数 void fun 2 ()的功能是:打印出杨辉三角形(要求打印出 10行)。函数 2.2void fun2 ( )int i, j;int a1010;printf (“/n“ );for (i=0; i10; i+a i 0=1;(3) )for (i=2; il0; i+ )for (j=1; ji; j+)(4) for (i=0; i10; i+ )for (j=0; j=i; j+ )(5) printf ( “/n“ );(分数:15.00)填空项 1:_三、试题三(总题数:1,分数:15.00)3.说明求树的
3、宽度,所谓宽度是指在二叉树的各层上,具有结点数最多的那一层的结点总数。本算法是按层次遍历二叉树,采用一个队列 q,让根结点入队列,若有左右子树,则左右子树根结点入队列,如此反复,直到队列为空。函数int Width ( BinTree *Tint front=-1, rear=-1; /*队列初始化*/int flag=0, count=0, p; /*p用于指向树中层的最右边的结点, flag 记录层中结点数的最大值*/if ( T!=Null)rear+;(1) ;flag=1;p=rear;while ( (2) )front+;T=q front;if (T-lchild!=Null
4、)roar+-+;(3) ;count+;if ( T-rchild!=Null )rear+; qrear=T-rchild;(4) ;if (front=p ) / 当前层已遍历完毕if( (5) )flag=count;count=0;p=rear, /p 指向下一层最右边的结点return ( flag );(分数:15.00)填空项 1:_四、试题四(总题数:1,分数:15.00)4.说明某班有 n个同学,学号分别为 1,2,n。为了每天指派若干个同学值日,他们放弃传统单调的轮留值日,别出心裁采用“定和值日”法:每天所指派值日同学的学号之和须等于其班号 m(nmn(n+1)/2)并且
5、规定:不允许任何两天值日的同学完全一样。编程使 n个同学按定和 m值日(正整数 n、m 均从键盘输入,约定 n50,m100),求出可持续的值日天数 f(n,m)。运行程序,具体求出 f(19,98)的值。函数main ( )int b, p, i , m, n, k;static int a51101:long s=0;printf (“ 请输入学生人数;“);scanf ( “%d“, printf (“ 请输入定和值: “);scanf ( “%d“, a10=1; a11=1; /* 数组元素赋初值*/for ( (1) ; j=n; j+)for (i=j; (2) ; i+) /*
6、 计算 a (2, m), a(n, m)*/(3) ;b=0,for ( k=1 kj-1; k+(4) ;aji=b; (5) ; /* 求和 s 为所求结果*/printf (“ “);printf ( “f ( %d, %d ) =%1d/n“, n, m, s );(分数:15.00)填空项 1:_五、试题五(总题数:1,分数:15.00)5.说明字符组合:程序界面如图示,在文本框 Text1中输入若干个任意字符,单击“颠倒”按钮,将这些字符按相反的顺序显示在标签 Lable1 中,并在标签 Labs1 2处显示字符的个数。例如:输入 abcabc2,显示为 2cbabca,组成字符
7、数为 4。(分数:15.00)填空项 1:_六、试题六(总题数:1,分数:15.00)6.说明编写一个字符界面的 Java Application 程序,接受用户输入的 10个整数,并输出这 10个整数的最大值和最小值。Java 代码import java. io.* ;public class abcpublic static void main ( (1) )int i, n=10, max=0, min=0, temp=0;try BufferedReader br = new BufferedReader (new InputStreamReader ( System.in ) );m
8、ax = min =Integer. parselnt ( br. readLine ( ) );. (2) ( IOExccption e ) ;for ( i=2 ; i=n ; i+ ) try BufferedReader br = new (3) (new InputStreamReader ( System. in ) );temp = (4) ( br. readLine ( );if (tempmax ) max=temp;if (tempmin) (5) catch (IOException e ) ;System.out.println ( “max=“+max+“/nmi
9、n=“+min );(分数:15.00)填空项 1:_七、试题七(总题数:1,分数:15.00)7.说明本程序求 3100 之间的所有素数(质数)并统计个数;同时将这些素数从小到大依次写入顺序文件 E:/dataout.txt;素数的个数显示在窗体 Form1上。Visual Basic 代码Private Sub Command1 Click ( )Dim count as integer, flag as BooleanDim t1 as Integer, t2 as Integer(1) Count=0For t1=3 to 100(2) For t2=2 to Int (Sqr (t1
10、)If (3) Then flag=FalseNext t2(4) count=count +1write #1, t1End ifNext t1(5) Close #1End Sub(分数:15.00)填空项 1:_八、试题八(总题数:1,分数:15.00)8.说明试从含有 n个 int 型数的数组中删去若干个成分,使剩下的全部成分构成一个不减的子序列。设计算法和编写程序求出数组的不减子序列的长。C+ 程序#includestdio.h#define N 100int b=9,8,5,4,3,2,7,6,8,7,5,3,4,5,9,1;int a N;#define n sizeofb/si
11、zeofb0void main ( )kit k,i,j;(1) (2) for (i=1;in; i+ )for ( j=k; (3) ; j-);(4) ; /*长为 j+1 的子序列的终元素存储在 aj+1*/if ( (5) k+; /*最长不减子序列长 k 增 1*/printf ( “K = %d/n “,k );(分数:15.00)填空项 1:_初级程序员下午试题-40 答案解析(总分:104.00,做题时间:90 分钟)一、试题一(总题数:1,分数:-1.00)1.流程图(分数:-1.00)_正确答案:(1)for(j=m; j=n; j+) (2)b=b/k(3) k+ (4
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 初级 程序员 下午 试题 40 答案 解析 DOC
