[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷16及答案与解析.doc
《[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷16及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷16及答案与解析.doc(11页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(初级)程序员下午(应用技术)模拟试卷 16及答案与解析 1 阅读以下说明和流程图,将应填入 (n)处的字句写在对应栏内。 说明 设学生某次考试的成绩按学号顺序逐行存放于某文件中,文件以单行句点 “.”为结束符。下面的流程图读取该文件,统计出全部成绩中的最高分 max和最低分 min。2 阅读下列程序说明和 C程序,将应填入 (n)处的字句写在对应栏内。 函数 2.1说明 下面程序的功能是计算 x和 y的最小公倍数。 函数 2.1 main() int m,n,d,r; seanf(“%d %d“, if(m n) r=m;m=n;n=r; (1); while (d%n! =0)
2、 (2); printf(“%dn“,d); 函数 2.2说明 下述程序接收键盘输入,直到句点 “.”时结束。输入的字符被原样输出,但连续的空格输入将转换成一个空格。 函数 2.2 #include stdio.h main() char c,preChar=0; c = getchar(); while(c! = .) if(3) putchar(c); else if(preChar! = ) putchar(c); (4); c=(5); 3 阅读下列函数说明和 C函数,将应填入 (n)处的字句写在对应栏内。 说明 二叉树的二叉链表存储结构描述如下: lypedef struct BiT
3、Node datatype data; street BiTNode *lchiht, *rchild; /*左右孩子指针 */ BiTNode, *BiTree; 下列函数基于上述存储结构,实现了二叉树的几项基本操作: (1) BiTree Creale(elemtype x, BiTree lbt, BiTree rbt):建立并返回生成一棵以 x为根结点的数据域值,以 lbt和 rbt为左右子树的二叉树; (2) BiTree InsertL(BiTree bt, elemtype x, BiTree parent):在二叉树 bt中结点 parent的左子树插入结点数据元素 x; (3
4、) BiTree DeleteL(BiTree bt, BiTree parent):在二叉树 bt中删除结点 parent的左子树,删除成功时返回根结点指针,否则返回空指针; (4) frceAll(BiTree p):释放二叉树全体结点空间。 函数 BiTree Create(elemtype x, BiTree lbt, BiTree rbt) BiTree p; if (p = (BiTNode *)malloc(sizeof(BiTNode)= =NULL) return NULL; p- data=x; p- lchild=lbt; p- rchild=rbt; (1); BiTr
5、ee InsertL(BiTree bt, elemtype x,BiTree parent) BiTree p; if (parent= =NULL) return NULL; if (p=(BiTNode *)malloc(sizeof(BiTNode)= =NULL) return NULL; p- data=x; p- lchild= (2); p- rchild= (2); if(parent- lchild= =NULL) (3); else p- lchild=(4); parent- lchild=p; return bt; BiTree DeleteL(BiTree bt,
6、BiTree parent) BiTree p; if (parent= =NULL|parent- lchild= =NULL) return NULL; p= parent- lchild; parent- lchild=NULL; freeAll(5); return bt; 4 阅读下列程序说明和 C程序,将应填入 (n)处的字句写在对应栏内。 说明 本程序将自然数 1, 2, , N2(N=5)按蛇形方式逐个顺序存入 N阶矩阵。令 n=N-1,则矩阵中的每一元素可用 aij标记,其中 i,j(0i, jn)分别为其所在行的行号和所在列的列号。蛇形方式顺序存放的方法是从 an0开始、到
7、 a0n为止,依次填 入由 1递增的自然数,交替地对每一斜列从左上角向右下角或从右下角向左上角排列。程序的输出为: 程序 #include stdio.h #include math.h #define SIZE.10int aSIZE SIZE,k;void write(int n) /*输出矩阵 */ int i,j; for(i=0;i =n;i+ +) for(j=0; j =nj j+ +) printf(“%4d“,aij); printf(“n“); void makeline(int row_start, int col_start, int row_end) /*完成矩阵一条
8、斜线的整数填写 */ int i,j, sign; sign=(1) =0)? 1:-1; for(i = row_start,j = col_start; (row_end-i) * sign =0; i+=sign,j+=sign) aij=(2);void makeArray(int n) /*完成矩阵每条斜线的整数填写 */ int d; for(d=1;d =(3);d+ +) if(d =n+1) if(d%2) makeline(4); else makeline(n+1-d,0,n); else if(d%2) makeline(5); else makeline(0,d-n-
9、1,2*n-d+1);void main() int n, N=5; k=1; n=N-1; makeArray(n); write(n); 5 阅读以下说明及 Visual Basic程序代码,将应填入 (n)处的字句写在对应栏内。 说明 下面的程序演示了根据随机产生的奖牌数,生成金银奖牌榜的 过程。程序使用的排序法是简单排序法。以金牌得数为例,其思想是选择最大的元素,将它交换到最前面;然后对剩下的部分采用同样的方法,直到全部排序完成。 程序界面中,左右两个文本框分别用于存放随机产生的奖牌数以及生成的奖牌榜,名为 Text1和Text2,上下两个按钮分别名为 Command1和 Comman
10、d2。代码中使用的量主要有:一维数组 cntries,用于存储 10个国家的名称,二维数组 medals,其元素medals(i,0)和 medals(i,1)分别用于存放第 i个 (i从 0开始 )国家的金、银牌数目。Visual Basic代码 Dim cntries(10) As String, medals(10,2) As Integer随机产生奖牌数Sub newMedals() 为数组 cntries和 medals赋值 End Sub输出奖牌榜 Sub printOut(txt As (1) ) Dim strResuh As String, i As Integer strR
11、esult=“国家 ”Data Souse=“ char name 10; int deg; (1) int sum; static int num; public: Stud(int n,char na,int d) no=n; deg=d; strcpy(name,na); (2); (3); static double avg() return (4); void disp() printf(“% -5d% -8s%3dn“,no,name,deg); ; int Stud: sum = 0; int Stud: num=0; void main() Stud s1(1,“Li“,81)
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 初级 程序员 下午 应用技术 模拟 16 答案 解析 DOC
