函数原型 | 说明 |
int islower(int ch); | 若ch表示一个小写英文字母,则返回一个非0整数,否则返回0 |
int isupper(int ch): | 若ch表示一个大写英文字母,则返回一个非0整数,否则返回0 |
int isalnum(int ch); | 若ch表示一个英文字母或数字字符,则返回一个非0整数,否则返回0 |
int isabha(int ch); | 若ch表示一个英文字母,则返回 [填空题]阅读以下说明和C函数,填充函数中的空缺。
[说明] 函数Insert _key(*root,key)的功能是将键值key插入到*root指向根结点的二叉查找树中(二叉查找树为空时*root为空指针)。若给定的二叉查找树中已经包含键值为key的结点,则不进行插入操作并返回0;否则申请新结点、存入key的值并将新结点DHA树中,返回1。 提示: 二叉查找树又称为二叉排序树,它或者是一棵空树,或者是具有如下性质的二叉树: 若它的左子树非空,则其左子树上所有结点的键值均小于根结点的键值; 若它的右子树非空,则其右子树上所有结点的键值均大于根结点的键值; 左、右子树本身就是二叉查找树。 设二叉查找树采用二叉链表存储结构,链表结点类型定义如下: typedef struct BiTnode int key _value; /*结点的键值,为非负整数*/ struct BiTnode *left,*right; /*结点的左、右子树指针*/ BiTnode,*BSTree; [C函数] int Insert _key(BSTree *root,int key) BiTnode *father=NULL,*p=*root,*s; while(______&&key!=p->key _value)(/*查找键值为key的结点*/ father=p; if(key<p->key _value)p=______; /*进入左子树*/ else p=______; /进入右子树*/ if(p) return 0; /*二叉查找树中已存在键值为key的结点,无需再插入*/ s=(BiTnode *)malloc(______);/*根据结点类型生成新结点*/ if(!s)rettlrn -1; s->key _value=key; s->left=NULL; s->right=NULL; if(!father) ______; /*新结点作为二叉查找树的根结点*/ else /*新结点插入二叉查找树 [填空题]
阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。 [填空题]阅读以下函数说明和C语言函数,将应填入 (n) 处的字句写在对应栏内。
[说明] 函数void diff(Node*A,Node*B,Node**r)的功能是:根据两个由整数按升序构成的单链表L1和L2(分别由A,B指向)构造一个单链表L3(由*r指向),要求L3中的所有整数都是L1,并且不是L2中的整数,还要求L3中的所有整数都两两不等。 [C函数] #include<malloc.h> typedef struct node int data; struct node*next; Node; void diff(Node*A,Node*B,Node**r) int lastnum; Node*P; *r=NULL; if(!A) return; while( (1) > if(A->data<B->data) lastnum=A->data; p=(Node*)malloc(sizeof(Node)); P->data=lastnum; P->next=*r; (2) ; do A=A->next; while( (3) >; else iffA->data>B->data) B=B->next; else (4) ; lastnum=A->data; while (A &&A->data==lastnum)A=A->next; while(A) lastnum=A->data; p=(Node*)m [填空题]阅读以下函数说明和C语言函数,将应填入 (n) 处的字句写在对应栏内。
[说明] 函数int psort(int a[],int n)实现将含n个整数的数组a[]的不同元素按从小到大顺序存于数组a[]中。实现方法是从未确定的元素列中找到最小元素并将a[]的第i最小元素交换至a[i]位置。如该最小元素比已确定的最后一个最小元素大,则将它接在已确定的元素序列的后面;否则,忽视该元素。 [C函数] int psort(int a[],int n) int i,J,k,P; for(i=0,k=0;i< (1) ;i++) for(j=i+1, (2) ;j<n; j++) if(a[p]>a[j]) p=j; if(p!=i) t=a[p]; a[p]=a[i]; a[i]=t; if( (3) ) k++; else if( (4) <a[i]) (5) =a[i]; return k; int a[]=5,7,5,6,4,3,4,6,7; main( ) int k,n; for(k=0;k<(Sizeof a)/Sizeof(int);k++) printf("%5d",a[k]); printf ("/n/n"); n=psort(a,(sizeof(a))/sizeof(int)); for(k=0;k<n;k++) printf("%5d",a[k]); printf("/n/n"); [填空题]阅读以下函数说明和C语言函数,将应填入 (n) 处的字句写在对应栏内。
[说明] 函数void diff(Node*A,Node*B,Node**r)的功能是:根据两个由整数按升序构成的单链表L1和L2(分别由A,B指向)构造一个单链表L3(由*r指向),要求L3中的所有整数都是L1,并且不是L2中的整数,还要求L3中的所有整数都两两不等。 [C函数] #include<malloc.h> typedef struct node { int data; struct node*next; }Node; void diff(Node*A,Node*B,Node**r) { int lastnum; Node*P; *r=NULL; if(!A) return; while( (1) > if(A->data<B->data) {lastnum=A->data; p=(Node*)malloc(sizeof(Node)); P->data=lastnum; P->next=*r; (2) ; do A=A->next; while( (3) >; } else iffA->data>B->data) B=B->next; else{ (4) ; lastnum=A->data; while (A &&A->data==lastnum)A=A->next; } while(A){ lastnum=A->data; p=(Node*)malloc(sizeof(Node)); 我来回答: 提交
最新试题 |