[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷47及答案与解析.doc
《[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷47及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷47及答案与解析.doc(13页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(初级)程序员下午(应用技术)模拟试卷 47及答案与解析 1 阅读下列算法说明和算法,将应填入 (n)处的语句写在对应栏内。 1. 【说明】 实现连通图 G的深度优先遍历 (从顶点 v出发 )的非递归过程。 【算法】 第一步:首先访问连通图 G的指定起始顶点 v; 第二步:从 V出发,访问一个与 v(1)p,再从顶点 P出发,访问与 p(2)顶点 q,然后从 q出发,重复上述过程,直到找不到存在 (3)的邻接顶点为止。 第三步:回退到尚有 (4)顶点,从该顶点出发,重复第二、三步,直到所 有被访问过的顶点的邻接点都已被访问为止。 因此,在这个算法中应设一个栈保存被 (5)的顶点,以
2、便回溯查找被访问过顶点的未被访问过的邻接点。 2 阅读以下函数说明和 C语言函数,将应填入 (n)处的字句写在对应栏内。 【程序 2.1说明】 已知一个排好序的数组,现输入一个数,要求按原来的顺序规律,将它插入到数组中。 【程序 2.1】 #include stdioh #define N 100 void main() float aN+l,x; int i,p; printf(“输入已经排好序的数列: “); for(i=0; i N; i+) scanf(%f“, printf(“输入要插入的数: “); scanf(“%f“, for(i=0,p=N; i N; i+) if(x ai
3、) (1) break; for(i=N-1; i =p; i-) (2) (3) for(i=0; i =N; i+) prinff(“%ft“,ai); 【程序 2.2说明】 本程序用变量 count统计文件中字符的个数。 【程序 2.2】 #include stdio.h #include stdlib.h void main() FILE *fp; long count=0; if(fp=fopen(“letter.txt“,“r“)=NULL) printf(“can not open filen“); exit(0); while(!feof(fp) (4) count+; pri
4、ntf(“count=%dn“,count); (5) 3 阅读以下说明和 C语言函数,将应填入 (n)处的语句写在对应栏内。 【说明】 下面的程序构造一棵以二叉链表为存储结构的二叉树。 【函数】 BitTree *createbt(BitTree *bt) BitTree *q; struct node *s30; int j,i; char x; printf(“i,x=“); scant(“%d,%c“, while(i!=0 /生成一个结点 (1); q- lchild=NULL; q- rchild=NULL; (2) ; if (3) j=i/2; / j为 i的双亲结点 if(i
5、%2=0) (4); /i为 j的左孩子 else (5); /i为 j的右孩子 printf(“i,x=“); scanf(“%d,%c“, return si; 4 阅读以下说明和 C语言函数,将应填入 (n)处的语句写在 对应栏内。 【说明】 著名的四色定理指出任何平面区域均可以用 4种颜色着色,使相邻区域着不同的颜色。本程序对给定的区域图找出所有可能的不超过 4种颜色的着色方案。 【函数】 # include stdio.h #define N 10 /*要着色的 N个区域 */ void output(int color) /*输出一种着色方案 colori的值为区域 i所着颜色 *
6、/ int i; for (i=0; i N; i+) printf(“%4d“, colori); printf(“n“); int back(int *ip, int colorj /*回溯 */ int c=4; while (c=4) if (*ip =0) return 0: -(*ip); c=(1); color*ip=-1; return c; /*检查区域 i,考查 c种颜色的可能性 */ int colorOK(iht i, int c, int adjN, int color) int j; for(j=0; j i; j+) if (2) return 0; retur
7、n 1; /*为区域 i选一种可着的颜色 */ int select(int i, int c, int adjN, int color) /*寻找各种着色方案 adjij=1表示区域 i与区域 j不相邻 */ int k; for (k=c; k =4; k+) /*4种颜色 */ if (colorOK(3) return k; return 0; int coloring(int adjN) int colorN, i, c, cnt; for (i=0; i N; i+) colori=-1: i=c=0; cnt=0; while (1) if (c=(4)=0) c=back( i
8、f (c=0) return cnt; else (5); i+; if(i=N) output(color); +cnt; c=back( else c=0; void main() int adjNN= 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1
9、, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0 ; printf(“共有 %d 组解 .n“, coloring(adj); 5 阅读下列说明和 Visual Basic代码,将应填入 (n)处的字句写在对应栏内。 说明 某小型家电超市开发了下面的程序,用以实现商品提货信息的汇总和输出功能。程序的运行界面如下图所示: 程序界面包含两个控件数组,分别是提货商品复选框控件数组 Check1以及提货数量文本框控件数组Text1(相同下标的复选框
10、和文本框相对应 ),提货清单的显示由 List控件实现,按钮 “打印清单 ”和 “清除 ”分别名为 Command1和 Command2。 Visual Basic代码 提货商品复选框的单击事件响应代码 Private Sub Check1_Click(Index As Integer)If Check1 (Index). Value = 1 Then (1). SetFocusEnd Sub按钮 “打印清单 ”的单击事件响应代码 Private Sub Command1_Click() Dim i, n, price As Integer, sum As Long, title As Str
11、ing sum = 0 For i = O To 4 Select Case i Case 0: title =“电视机 “: price = 3580 Case 1: title =“微波炉 “: price = 660 Case 2: title =“电冰箱 “: price = 1850 Case 3: title =“DVD“: price = 2880 Case 4: title =“空调 “: price = 2500 End Select If (2)= 1 And Textl(i). Text “ “ Then (3) title i =n;i+) /(1) if( listi
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 初级 程序员 下午 应用技术 模拟 47 答案 解析 DOC
