1 / 13
文档名称:

软件设计师2004下午试题.doc

格式:doc   大小:58KB   页数:13页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

软件设计师2004下午试题.doc

上传人:1314042**** 2021/1/12 文件大小:58 KB

下载得到文件列表

软件设计师2004下午试题.doc

相关文档

文档介绍

文档介绍:http://wwwcernet2005-01-25 15:05赛迪网校
试题一 阅读下列说明、流程图和算法,将应填入 n 处的字句写在答题纸的对应栏内。
[流程图说明]
下面的流程图用N-S盒图形式描述了在一棵排序二叉树中查找元素的过程,节点有三个成员: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 < e)
(4) ; //小于查找左子树
else if (tree->data < e)
(5) ;//大于查找左子树
else return tree;
}
return tree;
}
试题二
阅读下列函数说明和C函数,将应填入 n 处的字句写在答题纸的对应栏内。
[函数21说明]
函数strcat(char s[], char t[])的功能是:将字符串t复制连接字符串s的尾部,并返回新字符串的首地址作为函数值。例如:若s=“abcd”,t=“efg”,则新字符串应该是“abcdefg”。
[函数21]
char *strcat(char s[], char t[])
{ char *p;
p = s + strlen(s)-1
while( (1) ) {
(2) ;
}
*p = ‘\0’;
return s;
}
[函数22说明]
函数f(char *str, char del)的功能是:将非空字符串str中的指定字符del删除,形成一个新字符串仍存放在str所指内存单元中。
例如若str的值为“33123333435”,del的值为‘3’,调用此函数后,新字符串为:“1245”。
[函数22]
void f(char *str, char del)
{
int i, j, len;
len=strlen(str);
i=j=0;
while(i<len) {
if ( (3) )
(4) = str[i];
i++;
}
(5) ;
}
试题三
阅读以下说明和C代码,将应填入 n 处的字句写在答题纸的对应栏内。
[说明]
下面程序中函数fun的功能是:在含有10 个元素的s数组中查找最大数,及最大数所在位置(即,下标值),最大数可能不止一个。最大数作为函数值返回,最大数的个数通过指针变量n传回,所在位置由数组pos传回。
例如:
若输入 2 8 5 7 8 4 5 3 2 8
则应输出:
The max: 8
Total: 3 //最大数出现次数
The positions: 1 4 9
#include<stdioh>
#define 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=a[i];
for(i=0; i<M; i++)
if( (3) ) pos[k++]=i;
*n=k;
return max;
}
main()
{ int a[M], pos[M], i=0, j, n;
printf("Enter 10 number :");
for(i=0; i<M; i++)scanf("%d", (4));
j=fun( (5)