北航数据结构与程序设计真题-2013北航991真题与答案

合集下载

991数据结构真题2013

991数据结构真题2013

浙江理工大学2013年硕士学位研究生招生入学考试试题考试科目:数据结构代码:991(请考生在答题纸上答题,在此试题纸上答题无效)一、单选题(在每小题的四个备选答案中选出一个正确答案。

每小题2分,共20分。

)1.链表不具备的特点是______。

A. 可随机访问任一结点B. 插入删除不需要移动元素C. 不必事先估计存储空间D. 所需空间与其长度成正比2.设线性表有n个元素,以下算法中,在顺序表上实现比在链表上实现效率更高。

A. 交换第0个元素与第1个元素的值B. 顺序输出这n个元素的值C. 输出第i(0≤i≤n-1)个元素值D. 输出与给定值x相等的元素在线性表中的序号3.设输入序列为a、b、c、d,则借助栈所得到的输出序列不可能是_________。

A. a、b、c、dB. d、c、b、aC. a、c、d、bD. d、a、b、c4.为解决计算机主机与打印机之间的速度不匹配问题,通常设计一个打印数据缓冲区,主机将要输出的数据依次写入到该缓冲区,而打印机则依次从该缓冲区中取出数据。

该缓冲区的逻辑结构应该是。

A. 栈B. 队列C. 树D. 图5.设哈夫曼树中的叶子结点总数为m,若用二叉链表作为存储结构,则该哈夫曼树中总共有个空指针域。

A. 2mB. 4mC. 2m+1D. 2m -16.二叉树若用顺序存储结构表示,则下列四种运算中最容易实现。

A. 先序遍历二叉树B. 层次遍历二叉树C. 中序遍历二叉树D. 后序遍历二叉树7.以下关于有向图的说法正确的是。

A. 强连通图是任何顶点到其他所有顶点都有边B. 完全有向图一定是强连通图C. 有向图中某顶点的入度等于出度D. 有向图边集的子集和顶点集的子集可构成原有向图的子图8.若一个有向图中的顶点不能排成一个拓扑结构序列,则可断定该有向图____________。

A. 含有多个出度为0的顶点B. 是个强连通图C. 含有多个入度为0的顶点D. 含有顶点数目大于1的强连通分量9.顺序查找法适合于存储结构为的线性表。

北航2011年硕士研究生入学考试数据结构与C语言试题与答案

北航2011年硕士研究生入学考试数据结构与C语言试题与答案

2011 年硕士研究生入学考试“数据结构与C语言程序设计”(科目代码:991)试题与答案一、单项选择题(本题共20分,每小题各2分)1.下列关于线性表的存储结构的叙述中,错误的是。

A.线性表的顺序存储结构中隐式地存储了数据元素之间的逻辑关系B.线性表的顺序存储结构一定需要占用一片地址连续的存储空间C.线性表的链式存储结构通过指针来反映数据元素之间的逻辑关系D.线性表的链式存储结构占用的存储空间一定不连续2.若front 和rear 分别表示链接队列的队头指针与队尾指针,则向队列中插入一个由p 指的新元素的过程是依次执行。

A.rear=p; front=p; B.front=p; rear=p;C.rear->link=p; rear=p; D.front->link=p; rear=p;3.下列关于二叉树的叙述中,正确的是。

A.二叉树的度可以小于2 B.二叉树的度等于2C.二叉树中至少有一个结点的度为2 D.二叉树中每一个结点的度都为24.若某二叉树有40个叶结点,则该二叉树的结点总数最少是。

A.78 B.79 C.80 D.815.若采用邻接矩阵存储一个有向图,且邻接矩阵主对角线以下元素均为0,则该有向图的拓扑序列。

A.存在且惟一B.存在但可能不惟一C.不存在D.无法确定6.下面关于AOE 网的叙述中,正确的是。

A.AOE 网是一个带权的连通图B.AOE 网是一个带权的强连通图C.AOE 网是一个带权的无回路的连通图D.AOE 网是一个带权且无回路的有向图7.下列关于线性表查找方法的叙述中,错误的是。

A.顺序查找法适合于采用顺序存储结构和链式存储结构的线性表的查找B.对于相同元素,顺序查找法一定能够查找到表中首次出现的元素C.对于相同元素,折半查找法一定能够查找到表中首次出现的元素D.对于相同元素,折半查找法不一定能够查找到表中首次出现的元素8.在二叉排序树中进行查找的平均时间效率主要与下列因素之一有关,该因素是。

北京航空航天大学程序设计与数据结构专业考研真题

北京航空航天大学程序设计与数据结构专业考研真题

北京航空航天大学程序设计与数据结构专业考研真题(2000年)一、选择题(2’x10)1.在非空双向循环链表中q所指的结点前插入一个由p所指的链接点的过程依次为:rlink(p)←q;llink(p)←llink(q);llink(q)←p;_________。

(A)rlink(q)←p(B)rlink(llink(q))←p(C)rlink(llink(p))←p(D)rlink(rlink(p))←p2.若对n阶对称矩阵A以行序为主序方式将其下三角形的元素(包括主对角线上所有元素)依次存放于一维数组B(1)1:2n n+⎡⎤⎢⎥⎣⎦中,则在B中确定a ij(i<j)的位置k的关系为_________。

(A)(1)2i ij*-+(B)(1)2j ji*-+(C)(1)2i ij*++(D)(1)2j ji*++3.某堆栈的输入序列为a,b,c,d,下面的四个序列中,_________不可能是它的输出序列。

(A)a,c,b,d(B)b,c,d,a(C)c,d,b,a(D)d,c,a,b4.深度为h的满m叉数的第k层有_________个结点。

(1≤k≤h)(A)m k-1(B)m k-1 (C)m h-1(D)m h-15.具有10个叶结点的二叉树中有_________个度为2的结点。

(A)8 (B)9 (C)10 (D)116.要连通具有n个顶点的有向图,至少需要_________条边。

(A)n-1 (B)n(C)n+1 (D)2n7.已知有向图G=(V,E),其中V={v1,v2,v3,v4,v5,v6,v7},E={<v1,v2>,<v1,v3>,<v1,v4>,<v2,v5>,<v3,v5>,<v3,v6>,<v4,v6>,<v5,v7>,<v6,v7>},G的拓扑序列是_________。

数据结构期中试卷A参考答案

数据结构期中试卷A参考答案

北京航空航天大学北海学院课程考试试卷答案要点及评分细则课程名称:《数据结构》考试班级:软件与信息工程学院卷别:_A 命题教师签名: 年 月 日1、 单项选择题(本题共15小题,每小题2分,共30分)123456789101112131415C AD B C B D D C A D C A C B2、 判断正误题(本题共10小题,每小题1分,共10分)1.X,2.X,3.√,4.√,5.X,6.X,7.X,8.√,9.X, 10.√3、 填空题(本题共6小题10个空,每空2分,共20分)(1) O(n)(2) O(n)(3) O(1)(4) 求模式串在主串中首次出现的位置的运算,即求主串中左起第一个与模 式串相等的子串的首字符在主串中的位置。

(5) (Q.rear-Q.front+Max)% Max(6) 4(7) n2log n,n3, 2n(8) n→∞时n3/(n2log n)→∞, 2n/(n3)→∞(9) 为空(10) 出队四、简答题:(本题共4小题,1,2小题各4分,3,4小题各6分,共20分)1.1) 确定性指描述无二义性,相同条件下执行的路线和结果都是唯一的。

2) 输入可以有0至多个从算法外部接受的输入。

2. 该缓冲区应该采用队列结构。

其主要特点是先进先出。

3. 顺序表:O(n),单循环链表:O(n),顺序栈:O(1),循环队列:O(1),链栈:O(1),链队列:O(1)。

4. 优点:①随机访问,简捷;②只存数据,局部空间利用率高;缺点:①逻辑关系靠地址表达,插入删除造成大量元素移动;②要求连续存储空间,固定长度,不便扩充;③须预先按最大可能分配,但闲置多,按整体看空间利用率低。

五、设计题(本题共3小题,第1小题2分,第2小题8分,第3小题10分,共20 分)1. typedef struct node{datatype data;struct node *next;}node;2.(1). s->next = head->next; head->next = s;(2). s->next = head; head = s;3. 答案1:采用尾指针表示、带头结点的单循环链表。

北京航空航天大学-991-2017-真题

北京航空航天大学-991-2017-真题

已今, f ., 北京航空航天大学2017年硕士研究生招生考试初试试题科目代码:991 数据结构与C 语言程序设计(共7页)考生注意:所有答题务必书写在考场提供的答题纸上,写在本试题单上的答题一律无效(本题单不参与阅卷)。

一、单项选择题(本题共20分,每小题各2分)1."数据结构”课程研究的内容主要包括_——°A.数据的逻辑结构与存储结构;B.数据的逻辑结构与对数据进行的操作(即算法);C.数据的存储结构与对数据进行的操作(即算法);D.数据的逻辑结构、存储结构以及对数据进行的操作(即算法)。

2. 与单向链表相比,双向链表的优点之一是___。

A.可以进行随机访问;B.可以访问链表中的相邻结点;C.链表的插入和删除操作更加简便;D . 可以节省头结点指针。

3.通常情况下,将递归算法转换为等价的非递归算法需要使用一种数据结构来保存中间结果,这种数据结构是A .堆栈; B.队列; c.二叉树; D.图。

4.深度为h的完全二叉树的结点总数不会超过一。

A.2气B.2h 一1;C .2h : D.2h +l 。

5.若某二叉树的前序遍历序列为a,b, e, f, c, d, g, 中序遍历序列为b,f, e, a , d, g, c, 则后序遍历序列为———°A.f, e, b, g, d, c, a;C.b, f , e, a, d , g, c;B.f, g, e , d, b , c, a ;D.f, e, b, a, g, d, c 。

t夕__,一. 6.对千一个具有n 个顶点的有向图,其边数最多为___。

A.nX(n -1)/2条;B. n-1条;C.nX(n-1)条;D.n 2条。

第991—1页k'/后计算表达式"1a+28+3吽…+n a"的结果。

需要注意的是,当a或者n小千等千0时,该函数返回0。

提示:可以先编写一个求解旷的辅助函数,再在psum函数中计算累加和。

北航991真题2013年答案

北航991真题2013年答案

一、单项选择题1 选C2 选A3 选D4 选B,通过前序中的50来排除AC,同时这是一个排序树,可以构建出其结构5 选C6 选B7 选D8 选A,不要被顺序表所迷惑,顺序表不一定时有序的9 不在考点里了10选D二、顺序表1 顺序2 O(m)3 log2(k)+1取上界,向上取整,2^(h-2)< k <= 2^(h-1)4 234或2355 2(n+1)6 有向图中不含有回路7 看公式8 B树不考了10 9次4+3+2=9次三、综合题1 多个堆栈可以节约存储空间,可以充分利用全部的存储空间,但是某个堆栈满了之后移动空间麻烦,(2)操作方面,但单个堆栈难以确定分配的空间大小,会出现溢出或存储无法充分利用的情况(3)一般不会出现堆栈溢出的情况,且不需要预先分配空间,但需要用到了指针,需要额外的存储空间2 T->lchild==NULL&&T->rchild==NULL,T->lchild,T->rchild,显然这是个前序遍历,注意题目说明,输出叶结点的数据信息,所以if是判断是否为叶节点,其实还可以改进算法3 虽说不在考点,建议还是看看4 (1)11/0.61=18,除以18(2)四、算法设计题void sort(int A[],int n){int i,j;for(i = 1;i <= n/2; i++){int minIndex=i,maxIndex=i;for(j = i+1; j < n - i + 2; j++)if(A[minIndex] > A[j])minIndex = j;if(A[maxIndex] < A[j])maxIndex = j;}//交换值int temp = A[i];A[i] = A[minIndex];A[minIndex] = temp;temp = A[n-i+1];A[n-i+1] = A[maxIndex];A[maxIndex] = temp;}}五、填空题1 break a/q2 a[1]>=a[0],FUNC2(a,n-1),这是一个简单的题目,但算法写的太烂了,可以改进3 a[i][i] a[i][N-1-i]4 i>0 n%10+’0’5 ch=ch-30 ch=ch-267 strlen(p)-1 p<q8 ch&0x189 4 &number10 argv[1],”rb” argv[2],”wb”六、简答题1 (1)参数传递(2)return语句(3)全局变量2 与整数进行加减,指针相减,比较3 (1)所有成员共享同一块存储空间,占用空间为占用空间最大的,(2)同一时间只有一个(3)在定义的时候不能初始化4 包含头文件,定义文件指针,打开文件,进行读写操作,关闭文件七、程序设计题#include <stdio.h>int main(int argc,char *argv[]){int n = 100;int a[100];int i;//输入数组for(i = 0; i < n; i++)scanf("%d",a+i);//寻找最小的元素int min = 0;int*p = a;for(i = 0; i < n; i++)if(*(p+min)>*(p+i))min = i;//删除最小的元素for(i = min; i < n - 1; i++)*(p+i) = *(p+i+1);n--;return 0;}八、程序设计题char*maxword(char*s,char*t) {char*p,*q;p = s,q = t;int maxlen = 0;int maxbegin = -1;int i,j,k;int sword[80]={0};int tword[80]={0};int swordlen[80];int twordlen[80];int snum = 0,tnum = 0;for(i = 0; p[i]; i++){if(p[i] == ' '){sword[++snum] = i + 1;swordlen[snum-1] = sword[snum] - sword[snum-1] - 1;}}swordlen[snum] = i - sword[snum];snum++;for(i = 0; q[i]; i++){if(q[i] == ' '){tword[++tnum] = i + 1;twordlen[tnum-1] = tword[tnum] - tword[tnum-1] - 1;}}twordlen[tnum] = i -tword[tnum];tnum++;for(i = 0; i < snum; i++)printf("%d ",swordlen[i]);printf("\n");for(i = 0; i < snum; i++)printf("%d ",sword[i]);for(i = 0;i < snum; i++)for(j = 0; j < tnum; j++){if(swordlen[i] == twordlen[j] && maxlen < swordlen[i]){for(k = 0; k < swordlen[i]; k++){if(p[sword[i]+k] != q[tword[j]+k])break;}if(k == swordlen[i]){maxlen = k;maxbegin = sword[i];}}}printf("begin:%s,%d",(p+maxbegin),maxlen); }。

北航数据结构与程序设计真题2013年北航991真题及答案

北航数据结构与程序设计真题2013年北航991真题及答案

2013年''数据结构与C程序设计〃(代码991)试题一、单项选择题(本题共20分,每小题各2分)1.对于长度为n的线性表,建立其对应的収链表的时间复朵度为()。

A.0(1): B・ O(log2n):・ O(n): D・ O(n2)n2.一般情况下,在一个双向链表中插入一个新的链结点,()。

A.需耍修改4个抬针域内的指针:B・需要修改3个指针域内的抬针:C.需要修改2个抬针域内的抬针:D.只需要修改1个指针域内的抬针。

3.假设用单个字母表示中缀表达式中的一个运算数(或称运算对彖).并利用堆栈产生中缀表达式对应的后缀表达式。

对于中缀表达式A+B^C/D-E),十从左至右扫描到运算数E时,堆栈中的运算符依次是()。

(注:不包含表达式的分界符)A.+*/-:B. +*(/-: C・ +*-:・ +*(-o4.若某二叉排序树的前序遍历序列为50,20,40,30,80,60,70,则后序遍历序列为()。

A. 30,40,20,50,70,60,80:B. 30,40,20,70,60,80,50:C. 70,60,80,50,30,40,20:D. 70,60,80,30,40,20,50.5.分别以6, 3, 8, 12, 5, 7对应叶结点的权值构造的哈夫曼(Huffman)树的深度为()。

A. 6: B・ 5: C・ 4: D・ 3。

&下列关于图的叙述中,错误的是()0A.根据图的定义,图中至少有一个顶点:B.根据图的定义.图中至少有一个顶点和一条边(弧):C.具有n个顶点的无向图最多有n&#61620;(n-l)/2条边:D.具有n个顶点的有向图最多有n&#61620;(n-l)条边(弧)。

7.若在有向图G的拓扑序列中.顶点W在顶点vj之前,则下列4种情形中不可能岀现的是()。

A.G 中有弧vvi,vj>:B.G 中没有3ft<vi r vj>;c. G中有一条从顶点W到顶点vj的路径:D・G中有一条从顶点vj到顶点vi的路径。

北京航空航天大学991数据结构与C语言程序设计历年考研真题专业课考试试题

北京航空航天大学991数据结构与C语言程序设计历年考研真题专业课考试试题

2017年北京航空航天大学991数据 结构与C语言程序设计考研真题
2018年北京航空航天大学991数据 结构与C语言程序设计考研真题
目 录
2010年北京航空航天大学993数据结构与C语言程序设计考研真题 2011年北京航空航天大学991数据结构与C语言程序设计考研真题 2012年北京航空航天大学991数据结构与C语言程序设计考研真题 2013年北京航空航天大学991数据结构与C语言程序设计考研真题 2014年北京航空航天大学991数据结构与C语言程序设计考研真题 2015年北京航空航天大学991数据结构与C语言程序设计考研真题 2016年北京航空航天大学991数据结构与C语言程序设计考研真题 2017年北京航空航天大学991数据结构与C语言程序设计考研真题 2018年北京航空航天大学991数据结构与C语言程序设计考研真题
2014年北京航空航天大学991数据 结构与C语言程序设计考研真题
2015年北京航空航天大学991数据 结构与C语言程序设计考研真题
2016年北京航空航天大学991数据 结构与C语言程序设计考研真题
2010年北京航空航天大学993数据 结构与C语言程序设计考研真题
2011年北京航空航天大学991数据 结构与C语言程序设数据 结构与C语言程序设计考研真题
2013年北京航空航天大学991数据 结构与C语言程序设计考研真题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2013年“数据结构与C程序设计”(代码991)试题一、单项选择题(本题共20分,每小题各2分)1.对于长度为n的线性表,建立其对应的单链表的时间复杂度为( )。

A.O(1);B.O(log2n);.O(n);D.O(n2)。

2.一般情况下,在一个双向链表中插入一个新的链结点,( )。

A.需要修改4个指针域内的指针;B.需要修改3个指针域内的指针;C.需要修改2个指针域内的指针;D.只需要修改1个指针域内的指针。

3.假设用单个字母表示中缀表达式中的一个运算数(或称运算对象),并利用堆栈产生中缀表达式对应的后缀表达式。

对于中缀表达式A+B*(C/D-E),当从左至右扫描到运算数E时,堆栈中的运算符依次是( )。

(注:不包含表达式的分界符)A.+*/-;B.+*(/-;C.+*-;.+*(-。

4.若某二叉排序树的前序遍历序列为50,20,40,30,80,60,70,则后序遍历序列为( )。

A.30,40,20,50,70,60,80;B.30,40,20,70,60,80,50;C.70,60,80,50,30,40,20;D.70,60,80,30,40,20,50。

5.分别以6, 3, 8, 12, 5, 7对应叶结点的权值构造的哈夫曼(Huffman) 树的深度为( )。

A.6;B.5;C.4;D.3。

6.下列关于图的叙述中,错误的是( )。

A.根据图的定义,图中至少有一个顶点;B.根据图的定义,图中至少有一个顶点和一条边(弧);C.具有n个顶点的无向图最多有n&#61620;(n-1)/2条边;D.具有n个顶点的有向图最多有n&#61620;(n-1)条边(弧)。

7.若在有向图G的拓扑序列中,顶点vi在顶点vj之前,则下列4种情形中不可能出现的是( )。

A.G中有弧<vi,vj>;B.G中没有弧<vi,vj>;C.G中有一条从顶点vi到顶点vj的路径;D.G中有一条从顶点vj到顶点vi的路径。

8.下列关于查找操作的叙述中,错误的是( )。

A.在顺序表中查找元素可以采用顺序查找法,也可以采用折半查找法;B.在链表中查找结点只能采用顺序查找法,不能采用折半查找法;C.一般情况下,顺序查找法不如折半查找法的时间效率高;D.折半查找的过程可以用一棵称之为“判定树”的二叉树来描述。

9.在一棵m阶B-树中,除根结点之外的任何分支结点包含关键字的个数至少是( )。

A.m/2-1;B.m/2;C.&#61673;m/2-1;D.&#61673;m/2&#61689;。

10.若对序列(49, 38, 65, 97, 76, 13, 27, 49’)进行快速排序,则第一趟排序结束(即确定了第1个分界元素的最终位置)时,序列的状态是( )。

A.(13, 27, 49’, 38, 49, 76, 97, 65);B.(13, 38, 27, 49’, 49, 76, 97, 65);C.(13, 38, 49’, 27, 49, 97, 76, 65);D.(13, 38, 49’, 27, 49, 76, 97, 65)。

二、填空题(本题共20分,每小题各2分)1.非空线性表在采( )存储结构的情况下,删除表的一个数据元素平均需要移动表中近一半元素的位置。

2.将一个长度为n的单链表链接到一个长度为m的单链表后面,该算法的时间复杂度用大O符号表示为( )。

3.若完全二叉树的叶结点的数目为k,且最下面一层的结点数大于1,则该完全二叉树的深度为( )。

4.若深度为8的完全二叉树的第7层有10个叶结点,则该二叉树的结点总数为( )。

5.在具有n个顶点的有向图中,每个顶点的度最大可以达到( )。

6.若对有向图进行拓扑排序,则能够得到拓扑序列的条件是( )。

7.已知长度为10的顺序表中数据元素按值从小到大排列。

若在该表中进行折半查找,则平均查找长度(ASL)是( )。

8.若在一棵m阶B-树的某个结点中插入一个新的关键字值而引起结点产生分裂,则该结点中原有的关键字值的数目是( )。

9.有一种排序方法可能会出现这种情况:最后一趟排序开始之前,序列中所有的元素都不在其最终应该在的位置上,这种排序方法是( )。

10.若按照泡排序法的思想将序列(2, 12, 16, 5, 10)中元素按值从小到大进行排序,整个排序过程中所进行的元素之间的比较次数为( )。

三、综合题(本题共20分,每小题各5分)1.一般情况下,当一个算法中需要建立多个堆栈时可以选用下列三种处理方案之一。

问:这三种方案之间相比较各有什么优点和缺点?(1)多个堆栈共享一个连续的存储空间;(2)分别建立多个采用顺序存储结构的堆栈;(3)分别建立多个采用链式存储结构的堆栈。

2.已知二叉树采用二叉链表存储结构,根结点指针为T,链结点类型定义为:typedef struct node{char data; /* 数据域*/struct node *lchild, *rchild; /* 指向左、右子树的指针域*/} *BTREE;下面的算法的功能是输出二叉树中所有叶结点的数据信息。

请在算法的空白处(符号-----处)填入合适内容,使算法完整。

void FUNC(BTREE T){ if(T!=NULL){if((-----)printf(“%c”, T->data);FUNC(-----);FUNC(-----);}}3.对给定AOE网(如题三3图所示),请完成(1)分别求出各活动ai(i=1, 2, …, 14)的最早开始时间与最晚开始时间;(以表格形式给出结果)(2)求出所有关键路径。

(请以图形方式画出各关键路径)(说明:由于题三3图在本网站内无法显示,可参见指定教材p280页8-16题)4.已知要将给定的关键字值序列(42, 51, 16, 26, 50, 25, 37, 68, 64, 33, 18)进行散列存储,并且要求装填因子(也称负载因子)α≈0.61,(1)请利用除留余数法构造出合适的散列函数;(2)请画出利用该散列函数依次将序列中各关键字值插入到散列表以后表的状态。

设散列表初始为空,并且采用线性探测再散列法处理散列冲突。

四、算法设计题(本题15分)假设长度为n的顺序表A[1..n]中每个数据元素为一整数,请写出按照下列思想将表中数据元素按值从小到大进行排序的算法:第1趟排序将最小值元素放在A[1]中,最大值元素放在A[n]中;第2趟排序将次小值元素放在A[2]中,次大值元素放在A[n-1]中;……,依此下去,直至排序结束。

五、填空题(本题共20分,每小题各2分)1.已知某等比数列的第一项a1为1,公比为3,下列程序的功能是输出该数列中小于1000的最大项an 及其对应的n。

请在程序的空白处(符号-----处)填入合适内容,使程序完整。

main( ){ int n=1, a=1, q=3;while(1){a=a*q;n++;if(a>=1000)-----;}printf(“n=%d,a=%d\n”, n-1, -----);}2.下列递归函数FUNC2的功能是判断整型数组a[n]是否为递增数组,即判断数组的元素是否按值从小到大排列。

若是一个递增数组,则函数返回true,否则,函数返回false。

请在函数的空白处(符号-----处)填入合适内容,使函数完整。

bool FUNC2(int a[ ], int n){ if(n==1)return true;if(n==2)return -----;return ----- && (a[n-1]>=a[n-2]);}3.下列程序的功能是主函数调用FUNC3函数求方阵a中两条对角线上元素之和。

请在程序的空白处(符号-----处)填入合适内容,使程序完整。

#define N 10void FUNC3(int a[N][N], int *p, int *q){ int i;*p=0;*q=0;for(i=0; i<N; i++){*p=*p+(*-----);*q=*q+(*-----);}}main( ){ int a[N][N], i, j, x, y;for(i=0; i<N; i++)scanf(“%d”, *(a+i)+j);FUNC3(a, &x, &y); /* x,y中分别存放主对角线与副对角线上的元素之和*/printf(“%d, %d\n”, x, y);}4.下列程序的功能是先通过键盘输入一正整数,然后调用一递归函数FUNC4,该函数将正整数转换为对应的数字字符组成的字符串显示在屏幕上。

例如:若输入的正整数为583,则屏幕上显示的是字符串583。

请在程序的空白处(符号-----处)填入合适内容,使程序完整。

#include <stdio.h>void FUNC4(int n){ int i;i=n/10;if(-----)FUNC4(i);putchar(-----);}main( ){ int n;printf(“请输入一正整数n:”);scanf(“%d”, &n);printf(“转换后的字符串是:”);FUNC4(n);}5.下列程序的功能是将小写字母转换成对应的大写字母后的第2个字母,例如,将a转换成C,将b转换成D,其中,y转换成A,z转换成B。

请在程序的空白处(符号-----处)填入合适内容,使程序完整。

#include <stdio.h>main( ){ char ch;while((ch=getchar( ))!=‘\n’)if(ch>=‘a’ && ch<=‘z’){-----;if(ch>‘Z’ && ch<=‘Z’+2)-----;}}6.下列函数FUNC6的功能是删除字符串s中的所有空白字符,包括Tab字符、回车符以及换行符。

请在函数的空白处(符号-----处)填入合适内容,使函数完整。

#include <stdio.h>#include <string.h>#include <ctype.h>FUNC6(char *s){ int i, t;char c[80];if(!isspace(-----))c[-----]=s[i];c[t]=‘\0’;strcpy(s, c);}7.下列程序的功能是判断输入的字符串是否是“回文”。

(注:按顺序读与按逆序读都一样的字符串被称为“回文”,例如:abcdcba)。

请在程序的空白处(符号-----处)填入合适内容,使程序完整。

#include <stdio.h>#include <string.h>main( ){ char ch[81], *p=ch, *q;gets(p);q=p+-----;while(-----){if(*p==*q){p++; q--;}elsebreak;}if(p<q)printf(“该字符串不是回文!\n”);elseprintf(“该字符串是回文!\n”);}8.下列程序的功能是:对于字符类型变量ch=108,保留中间两位,而将高、低3位清零。

相关文档
最新文档