2010年软考程序员考试(下午题)考前预测试题及答案(2套)

上传人:bin****86 文档编号:55227839 上传时间:2018-09-26 格式:DOC 页数:25 大小:95.50KB
返回 下载 相关 举报
2010年软考程序员考试(下午题)考前预测试题及答案(2套)_第1页
第1页 / 共25页
2010年软考程序员考试(下午题)考前预测试题及答案(2套)_第2页
第2页 / 共25页
2010年软考程序员考试(下午题)考前预测试题及答案(2套)_第3页
第3页 / 共25页
2010年软考程序员考试(下午题)考前预测试题及答案(2套)_第4页
第4页 / 共25页
2010年软考程序员考试(下午题)考前预测试题及答案(2套)_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《2010年软考程序员考试(下午题)考前预测试题及答案(2套)》由会员分享,可在线阅读,更多相关《2010年软考程序员考试(下午题)考前预测试题及答案(2套)(25页珍藏版)》请在金锄头文库上搜索。

1、Ray Shiu 资格考试题库资格考试题库 豆丁网豆丁网 1 2010 年软考程序员考试(下午题)考前预测试题及答案(年软考程序员考试(下午题)考前预测试题及答案(2 套)套) 2010 年软考程序员考试(下午题)预测模拟试题及答案(年软考程序员考试(下午题)预测模拟试题及答案(1) 下午试卷下午试卷 (考试时间考试时间 14:0016:30 共共 150 分钟分钟) 本试卷共本试卷共 8 道题,考生需解答道题,考生需解答 5 道题,其中试题道题,其中试题 1试题试题 3 是必答题,试题是必答题,试题 4 和试题和试题 5 两题任选两题任选 1 道题,试题道题,试题 6 至试题至试题 8 三

2、题任选三题任选 1 道解答。对于任选题,如果解答的试题数超道解答。对于任选题,如果解答的试题数超 过过 1 道,则题号小的道,则题号小的 1 道题解答有效。每题道题解答有效。每题 15 分,满分分,满分 75 分。分。 试题一试题一 【说明】 该程序的功能是从文件 INDAT 中读取一篇英文文章存入到字符串数组 xx 中,以行 为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不 含标点符号)仍按行重新存入字符串数组 xx 中,最后把结果 xx 输出到文件 OUT6DAT 中。 例如:原文:You He Me I am a student 结果:Me He You

3、student a am I 原始数据文件存放的格式是:每行的宽度均小于 80 个字符,含标点符号和空格。 【函数】 #include #include #include #include char xx50 80 ; int maxline=0;/*文章的总行数*/ int ReaaDat(void); Ray Shiu 资格考试题库资格考试题库 豆丁网豆丁网 2 void WriteDat(void); void StrOL(void) char*pl,*p2,t80 ; int i; for(i=0;i p1=xxi ;t0=0; while(*p1)p1; while(p1=xxi)

4、 while(!isalpha(*p1)p1!=xxi)p1-; p2=p1; while( (1) )p1-; if(p1=xxi) if(isalpha(*p1)p1-; else if(!isalpha(*(p1+1)break; p2; (2) ; strcat(t,p1+1); strcat(t,“ “); strcpy(xxi ,t); void main() if( (3) ) printf(“数据文件 indat 不能打开!n007“); return; StrOL(); Ray Shiu 资格考试题库资格考试题库 豆丁网豆丁网 3 writeDat(); getch();

5、int ReadDat(void) FILE*fp; int i=0; char*p; if(fp=fopen(“e:aindat“,“r“)=NULL)return 1; while(fgets(xxi ,80,fp)!=NULL) p=strchr(xxi ,n); if(p)*p=0; i; maxline= (4) fclose(fp); return 0; void WriteDat(void) FILE*fp; int i; fp=fopen(“e:aout6dat“,“w“); for(i=0;idata (4) ;小于查找左子树 else if(tree-data Ray Sh

6、iu 资格考试题库资格考试题库 豆丁网豆丁网 5 (5) ;大于查找左子树 else return tree; return tree; 【答案】 (1)p=p-left (2)p=p-right (3)return P (4)return SearchSortTree(tree-left) (5)return SearchSortTree(tree-right) 试题三试题三 假设以带头结点的单循环链表作非递减有序线性表的存储结构。函数 deleteklist(LinkList head)的功能是删除表中所有数值相同的多余元素,并释放结点空间。 例如:链表初始元素为: (7,10,10,2

7、1,30,42,42,42,51,70) 经算法操作后变为: (7,10,21,30,42,51,70) 【函数 1】 void deleteklist(LinkList head) LinkNode*p,*q; p=head-next; while(p!=head) q=p-next; while( (1) ) (2) ; free(q); Ray Shiu 资格考试题库资格考试题库 豆丁网豆丁网 6 q=p-next; p=p-next; 【说明 2】 已知一棵完全二叉树存放于一个一维数组 Tn中,Tn中存放的是各结点的值。 下面的程 序的功能是:从 T0开始顺序读出各结点的值,建立该二

8、叉树的二叉链表表示。 【函数 2】 #include typedef struct node int data; stuct node leftChild,rightchild; BintreeNode; typedef BintreeNode*BinaryTree; void ConstrncTree(int T ,int n,int i,BintreeNode*ptr) if(i=n) (3) ;置根指针为空 else ptr=-(BTNode*)malloc(sizeof(BTNode) ptr-data=Ti ; ConstrucTree(T,n,2*i+1, (4) ); Const

9、rucTree(T,n, (5) ,ptr-rightchild); main(void) /*根据顺序存储结构建立二叉链表* Binarytree bitree;int n; Ray Shiu 资格考试题库资格考试题库 豆丁网豆丁网 7 printf(“please enter the number of node:ns“;n); int*A=(int*)malloc(n*sizeof(int); for(int i=0;in;i)scanf(“d,A+i);/*从键盘输入结点值*/ for(int i=0;in;i)printf(“d“,Ai); ConstructTree(A,n,0,

10、bitree); 答案: (1)q!=head p = s + strlen(s)-1 while( (1) ) (2) ; *p = 0; return s; 函数 2.2 说明 函数 f(char *str, char del)的功能是:将非空字符串 str 中的指定字符 del 删除,形成一 个 Ray Shiu 资格考试题库资格考试题库 豆丁网豆丁网 8 新字符串仍存放在 str 所指内存单元中。 例如若 str 的值为“33123333435”,del 的值为3,调用此函数后,新字符串为:“1245”。 函数 2.2 void f(char *str, char del) int

11、i, j, len; len=strlen(str); i=j=0; while(i if ( (3) ) (4) = stri; i+; (5) ; 试题五试题五 阅读以下说明和 C 代码,将应填入 n 处的字句写在答题纸的对应栏内。 说明 下面程序中函数 fun 的功能是:在含有 10 个元素的 s 数组中查找最大数,及最大数所 在位置 (即,下标值),最大数可能不止一个。最大数作为函数值返回,最大数的个数通过 指针变量 n 传回,所在位置由数组 pos 传回。 例如: 若输入 2 8 5 7 8 4 5 3 2 8 则应输出: The max: 8 Total: 3 /最大数出现次数 T

12、he positions: 1 4 9 #include #define M 10 Ray Shiu 资格考试题库资格考试题库 豆丁网豆丁网 9 int fun(int *a, int *n, int pos) int i, k, max=-32767; (1) for(i=0; i if( (2) ) max=ai; for(i=0; i if( (3) ) posk+=i; *n=k; return max; main() int aM, posM, i=0, j, n; printf(“Enter 10 number :“); for(i=0; i j=fun( (5) ); prin

13、tf(“The max: %dn“, j); printf(“Total: %d“,n); printf(“The position:“); for(i=0; i printf(“n“); 2010 年软考程序员考试(下午题)预测模拟试题及答案(2) 下午试卷下午试卷 (考试时间考试时间 14:0016:30 共共 150 分钟分钟) 本试卷共本试卷共 8 道题,考生需解答道题,考生需解答 5 道题,其中试题道题,其中试题 1试题试题 3 是必答题,试题是必答题,试题 4 和试题和试题 5 两题任选两题任选 1 道题,试题道题,试题 6 至试题至试题 8 三题任选三题任选 1 道解答。对于任选

14、题,如果解答的试题数超道解答。对于任选题,如果解答的试题数超 Ray Shiu 资格考试题库资格考试题库 豆丁网豆丁网 10 过过 1 道,则题号小的道,则题号小的 1 道题解答有效。每题道题解答有效。每题 15 分,满分分,满分 75 分。分。 试题一试题一(15 分,每空分,每空 3 分分) 阅读以下说明和流程图,将应填入_(n)_处的字句写在答题纸的对应栏内。 说明 已知头指针分别为 La 和 Lb 的有序单链表,其数据元素都是按值非递减排列。现要 归并 La 和 Lb 得到单链表 Lc,使得 Lc 中的元素按值非递减排列。程序流程图如下所示。 试题二试题二(15 分,每空分,每空 3

15、 分分) 阅读以下函数说明和 C 语言函数,将应填入_(n)_处的字句写在答题纸的对应栏 内。 程序 2.1 说明 已知一个排好序的数组,现输入一个数,要求按原来的顺序规律,将它插入到数组中。 程序 2.1 #include #define N 100 void main() float aN=1,x; int i,p; printf(“输入已经排好序的数列:“); for( i=0; i scanf(%f“, printf(“输入要插入的数:“); scanf(“%f“, for( i=0,p=N; i if(x _(1)_ break; Ray Shiu 资格考试题库资格考试题库 豆丁网豆丁网 11 for( i=N-1; i=p; i- ) _(2)_ _(3)_ for( i=0; i1 对

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号