[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷46及答案与解析.doc
《[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷46及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]软件水平考试(初级)程序员下午(应用技术)模拟试卷46及答案与解析.doc(11页珍藏版)》请在麦多课文档分享上搜索。
1、软件水平考试(初级)程序员下午(应用技术)模拟试卷 46 及答案与解析 1 阅读以下说明和流程图,将应填入 (n)处的字句写在对应栏内。 说明 下面的流程图实现了正整数序列 K(1),K(2),K(n) 的重排,得到的新序列中,比 K(1)小的数都在 K(1)的左侧,比 K(1)大的数都在 K(1)的右侧。以 n=6为例,序列 12, 2, 9,13, 21, 8的重排过程为: 12,2,9,13,21,8 2,12,9,13,21,8 9,2,12,13,21,8 8,9,2,12,13,21 流 程图 2 阅读下列说明和 C代码,将应填入 (n)处的字句写在对应栏内。 【说明】 本题给出四
2、个函数,它们的功能分别是: 1 int push(PNODE*top, int e)是进栈函数,形参 top是栈顶指针的指针,形参 e是入栈元素。 2 int pop(PNODE*top, int*e)是出栈函数,形参 top是栈顶指针的指针,形参 e作为返回出栈元素使用。 3 int enQueue(PNODE*tail, int e)是入队函数,形参 tail是队尾指针的指针,形参 e是入队元素。 4 int deQueue(PNODE*tail, int*e)是出队函数,形参 tail是队尾指针的指针,形参 e作为返回出队元素使用。 以上四个函数中,返回值为。表示操作成功,返回值为 -1
3、表示操作失败。 栈是用链表实现的;队是用带有辅助结点 (头结点 )的单向循环链表实现的。两种链表的结点类型均为: typedef struct node int value; struct node * next; NODE, * PNODE; 【函数 1】 int push(PNOOE * top,int e) PNODE p = (PNODE) malloc (sizeof (NODE); if (! p) return-1; p- value=e; (1); *top=p; return 0; 【函数 2】 int pop (PNODE * top,int * e) PNODE p =
4、* top; if(p = NULL) return-1; * e = p- value; (2); free(p); return 0; 【函数 3】 int enQueue (PNODE * tail,int e) PNODE p,t; t= *tail; p = (PNODE) malloc(sizeof(NODE); if(!p) return-1; p- value=e; p- next=t- next; (3); * tail = p; return 0; 【函数 4】 int deQueue(PNODE * tail,int * e) PNODE p,q; if( * tail)
5、- next = * tail) return-1; p= (* tail)- next; q = p - next; * e =q - value; (4)=q- next; if(,tail=q) (5); free(q); return 0; 3 【说明】 下面程序的功能是:在含有 10个元素的数组中查找最大数,及最大数所在位置(即下标值 ),最大数可能不止一个。 例如:若输入 2 8 5 7 8 4 8 3 2 8 则应输出 The max: 8 Total: 4 /最大数出现次数 The positions: 1 4 6 9 【函数】 #include stdio.h #define
6、 M 10 int fun(int* a,int * n,int pos ) int i, k max = - 32767; (1) for(i=0;i M;i+) if(2)max=ai; for(i=0;i M;i+) if(3)posk+=i; *n=k; return max; main() int aM,posM,i=0j,n; printf(“Enter 10umber:“) for(i=0,i M;i+)scanf(“%d“,(4); j=fun(5); printf(“The max:%dn“,j); printf(“Total: %d“, n); printf(“The po
7、sition:“) for (i=0; i n;i+) printf (“%4d“, posi); printf(“n“); 4 阅读以下函数说明和 C语言函数,将应填入 (n)处的字句写在对应栏内。 【程序 2.1说明】 求所有满足如下条件的三位数:它除以 11得的商等于它各位数字的平方和。例如 550,除以 11商为 50, 50=52+52+02。 【程序 2.1】 void main() int i, j,n,s; for(i=100;i =999;i+) n=i; j=n/11; s=0; while(1) (2) n/=10; if(3) printf(“%dt“,i); 【程序
8、2.2说明】 本程序输入一字符串,将其中的大写字母改变成小写字母。 【程序 2.2】 void main() int i=0; char s120; scanf(“%s“,s); while(4) if(5) si=si- A+a; i+; printf(“%sn“,s); 5 阅读以下说明及 Visual Basic 程序代码,将应填入 (n)处的字句写在对应栏内。 说明 本程序求 3 100之间的所有素数 (质数 )并统计个数;同时将这些素数从小到大依次写入顺序文件 E:dataout.txt;素数的个数显示在窗体 Form1上。 Visual Basic 代码 Private Sub C
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 软件 水平 考试 初级 程序员 下午 应用技术 模拟 46 答案 解析 DOC
