您当前位置: 唯学网 » 软件工程师 » 试题专题

2013软件工程师考试程序设计试题及答案

来源:唯学网•教育培训(www.vixue.com)  【唯学网 • 中国教育电子商务平台】 加入收藏

想要成为一个专业的程序设计人员,必须参加全国软件工程师程序员考试,这是唯一的途径。唯学网是一个大型的教育考试培训平台,唯学网小编应广大考生的强烈要求,为准备参加2013年软件工程师考试的考生们整理了程序员考试程序设计试题及答案。具体如下:

试题一

【说明】

该程序的功能是从文件IN.DAT中读取一篇英文文章存入到字符串数组xx中,以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排。最后把已处理的字符串(应不含标点符号)仍按行重新存入字符串数组xx中,最后把结果xx输出到文件OUT6.DAT中。

例如:原文:You He Me

I am a student.

结果:Me He You

student a am I

原始数据文件存放的格式是:每行的宽度均小于80个字符,含标点符号和空格。

【函数】

#include

#include

#include

#include

char xx[50][80];

int maxline=0;/*文章的总行数*/

int ReaaDat(void);

void WriteDat(void);

void StrOL(void)

{

char*pl,*p2,t[80];

int i;

for(i=0;i{p1=xx[i];t[0]=0;

while(*p1)p1++;

while(p1>=xx[i])

{while(!isalpha(*p1)&&p1!=xx[i])p1--;

p2=p1;

while( (1) )p1--;

if(p1==xx[i])

if(isalpha(*p1))p1--;

else if(!isalpha(*(p1+1)))break;

p2++;

(2) ;

strcat(t,p1+1);

strcat(t," ");

}

strcpy(xx[i],t);

}

}

void main()

{

if( (3) ){

printf("数据文件in.dat不能打开!\n\007");

return;

}

StrOL();

writeDat();

getch();

}

int ReadDat(void)

{

FILE*fp;

int i=0;

char*p;

if((fp=fopen("e:\\a\\in.dat","r"))==NULL)return 1;

while(fgets(xx[i],80,fp)!=NULL){

p=strchr(xx[i],′\n′);

if(p)*p=0;

i++;

}

maxline= (4)

fclose(fp);

return 0;

}

void WriteDat(void)

{

FILE*fp;

int i;

fp=fopen("e:\\a\\out6.dat","w");

for(i=0;i< (5) ;i++){

printf("%s\n",xx[i]);

fprintf(fp,"%s\n",xx[i]);

}

fclose(fp);

}

【答案】

(1)isalpha(*p1)&&p1!=xx[i]

(2)*p2=0

(3)ReadDat()

(4)i

(5)maxline

试题二

阅读下列说明和流程图,将应填入(n)的语句写在答题纸的对应栏内。

【流程图说明】

下面的流程(如图1所示)用N-S盒图形式描述了在一棵二叉树排序中查找元素的过程,节点有3个成员:data,left和right。其查找的方法是:首先与树的根节点的元素值进行比较:若相等则找到,返回此结点的地址;若要查找的元素小于根节点的元素值,则指针指向此结点的左子树,继续查找;若要查找的元素大于根节点的元素值,则指针指向此结点的右子树,继续查找。直到指针为空,表示此树中不存在所要查找的元素。

【算法说明】

【流程图】

将上题的排序二叉树中查找元素的过程用递归的方法实现。其中NODE是自定义类型:

typedef struct node{

int data;

struct node*left;

struct node*right;

}NODE;

【算法】

NODE*SearchSortTree(NODE*tree,int e)

{

if(tree!=NULL)

{

if(tree->data(4) ;∥小于查找左子树

else if(tree->data(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)

0% (0)
0% (10)
已有条评论
新闻浏览排行