最全程序员软考考试下午模拟试题合集_第1页
最全程序员软考考试下午模拟试题合集_第2页
最全程序员软考考试下午模拟试题合集_第3页
最全程序员软考考试下午模拟试题合集_第4页
最全程序员软考考试下午模拟试题合集_第5页
已阅读5页,还剩278页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

申明申明 此为最全程序员软考考试下午模拟试题合集 一共 32 套 均配有答案 由于文件过大 拆成上午试题和下午试题 在百度文库同样可以搜索 最全程序员软考考试 上午模拟试题合集 此外还有程序员软考试题真题提供 百度文库搜索 最全历年程序员软考考试上午真题合集 和 最全历年程序员软考考试下午真题合集 每套后面均配有答案 接近 30 套 每年两套 注注 如果图片显示不全 适当将图片缩小即可 过来人总结 多做做下午场试题 最好打印 上午场试题对着电脑即可 只要不是一点不懂 基本上午场没问题 初初级级程序程序员员下午下午试题试题模模拟拟 37 试题试题一一 阅读以下说明和流程图 填补流程图中的空缺 1 2 将解答填入对应栏内 说明 假设数组 A 中的各元素 A1 A4 A M 已经按从小到大排序 M 1 数组 B 中的各元 素 B1 B4 B N 也已经按从小到大排序 N 1 执行下面的流程图后 可以将数组 A 与 数组 B 中所有的元素全都存入数组 C 中 且按从小到大排序 注意 序列中相同的数全部保 留并不计排列顺序 例如 设数组 A 中有元素 2 5 6 7 9 数组 B 中有元素 2 3 4 7 则数组 C 中将有元素 2 2 3 4 5 6 7 7 9 流程图 试题试题二二 阅读以下说明和 C 函数 将应填入 n 处的字句写在答题纸的对应栏内 说明 某单位准备进行一次选举 对指定的 n 名 n 80 候选人进行投票 为了简化选举工 作 事先印制了写有这 n 名候选人姓名的选票 投票者只需将选中者名下的圆圈涂黑即可 规定每张选票上被涂黑的圆圈数不得超过 3 个 也不得少于 1 个 否则视为无效选票 投票 结束后 所有选票经计算机扫描处理 形成了描述选票状态的文本文件 例如 n 8 时所形 成的文件如下 其中 每行表示一张选票的数据 每列代表一位候选者的得票情况 第 i 行第 j 列为 1 表示第 i 张选票上投了第 j 名候选人 1 票 函数 statistic15 的功能是读入选票数据 并统计每位候选者的得票数 函数返回有效选票数 C 语言函数 int statistic FILE fp int candidate int n 从文件中读入选票数据 n 为候选人数量 n 80 从有效选票中统计每位候选者的得票数并存入 candidate 函数返回有效选 票数 char str 80 str 保存读入的一张选票数据 int i tag 0 tag 用于判断每张选票是否有效 int q 0 q 用于计算有效选票数 for i 0 i n i candidate i 0 while 10 fgets str 80 fp 读入一张选票数据 for tag 0 i 0 11 i if str i 1 tag if 12 若是有效选票 则进行统计 13 for i 0 i n i if str i 1 14 return q statistic 试题试题三三 阅读以下说明和 C 语言函数 将应填入 n 处的字句写在答题纸的对应栏内 说明 一棵非空二叉树中 最左下 结点定义为 若树根的左子树为空 则树根为 最左下 结点 否 则 从树根的左子树根出发 沿结点的左孩子分支向下查找 直到某个结点不存在左孩子时 为止 该结点即为此二叉树的 最左下 结点 例如 下图所示的以 A 为根的二叉树的 最左 下 结点为 D 以 C 为根的子二叉树中的 最左下 结点为 C 二叉树的结点类型定义如下 typedef struct BSTNode int data struct BSTNode 1ch rch 结点的左 右孩子指针 BSTree 函数 BSTree Find Del BSTree root 的功能是 若 root 指向一棵二叉树的根结 点 则找出该结点的右子树上的 最左下 结点 p 并从树下删除以 p 为根的子树 函数返 回被册除子树的根结点指针 若该树根的右子树上不存在 最左下 结点 则返回空指针 函数 BSTree Find Del BSTree root BSTree p pre if root return NULL root 指向的二叉树为空树 15 令 p 指向根结点的右子树 if p return NULL 16 设置 pre 的初值 while p 1ch pre p p 17 if 18 root root 的右子树根为 最左下 结点 pre rch NULL else 19 NULL 删除以 最左下 结点为根的子树 return p 试题试题四四 阅读以下函数说明和 C 语言函数 将应填入 n 的字句写在答题纸的对应栏内 说明 1 函数 int fun1 int m int n 的功能是 计算并返回正整数 m 和 n 的最大公约数 函数 1 int fun1 int m int n while 20 if m n m m n else n n m 21 说明 2 函数 long fun2 char str 的功能是 自左至右顺序取出非空字符串 str 中的数字 字符形成一个十进制整数 最多 8 位 例如 若字符串 str 的值为 f3g8d5 ji2e3p12fkp 则函数返回值为 函数 2 long fun2 char str int i 0 long k 0 char p str while p 0 i 24 return k 试题试题五五 从下列从下列 2 道道试题试题 试题试题 5 至至试题试题 6 中任中任选选 1 道解答 如果解答的道解答 如果解答的试题试题 数超数超过过 1 道 道 则题则题号小的号小的 1 道解答有效 道解答有效 阅读下列说明 图和 C 代码 将应填入 n 处的字句写在答题纸的对应栏内 说明 已知对某载客车辆 Car 进行类建模 如图 5 1 所示 其中类 Engine 表示发动机引 擎 类 Wheel 表示车轮 类 Body 表示车身 类 Driver 表示司机 类 Passenger 表示乘 客 C 代码 const int 25 7 定义最多载客数 const int MAX WHEELS 5 定义最多轮胎数 class Body 此处代码省略 车身类 class Passenger 此处代码省略 乘客类 class Wheel 此处代码省略 车轮类 class Driver 司机类 public string name 表示第几路公交车司机 Driver string driverName name 26 构造函数 class Engine 引擎类 public string engineNo 引擎编号 Engine string engineNo 27 engineNo engineNo 构造函 数 class Car 汽车类 protected Engine engine Driver driver Body body Wheel wheels MAX HEELS Passenger passengers MAX PASSENGERS public Car Driver driver 构造函数 this driver driver engine new Engine TX6536 型号引擎 int index for index 0 index MAX HEELS index wheels index new Wheel30 for index 0 index MAX PASSENGERS index passengers index NULL virtual Car30 析构函数 for int index 0 index MAX WHEELS index delete wheels index delete 28 int getPassengerNumber30 获取车上乘客数量 此处代码省略 void getOnPassenger Passenger aPassenger 乘客上车 此处代码省略 void run30 开车 if driver NULL cout 司机尚未上车 return 此处代码省略 void main30 Driver driver 第五路公交车司机 Car car 29 Passenger passengers MAX PASSENGERS for int index 0 index MAX PASSENGERS index 乘客 上车处理 car getOnPassenger car run30 试题试题六六 阅读下列说明 图和 Java 代码 将应填入 n 处的字句写在答题纸的对应栏内 说明 已知对某载客车辆 Car 进行类建模 如图 6 1 所示 其中类 Engine 表示发动机引 擎 类 Wheel 表示车轮 类 Body 表示车身 类 Driver 表示司机 类 Passenger 表示乘 客 Java 代码 class Body 此处代码省略 车身类 class Passenger 此处代码省略 乘客类 class Wheel 此处代码省略 车轮类 class Driver 司机类 public String name 表示第几路公交车司机 public Driver String driverName name driverName 构造函 数 class Engine 引擎类 public String engineNo 引擎编号 public Engine String engineNo this engineNo engineNo 构造函数 public class Car 汽车类 static final int 30 7 定义最多载客数 static final int MAX WHEELS 5 定义最多轮胎数 protected Engine engine protected Driver driver protected Body body new Body35 protected Wheel wheels protected Passenger passengers public Car Driver driver 构造函数 31 driver driver engine new Engine TX6536 型号引擎 wheels new Wheel MAX WHEELS passengers new Passenger MAX PASSENGERS for int index 0 index MAX WHEELS index wheels index new Wheel35 for int index 0 index MAX PASSENGERS index passengers index null int getPassengerNumber35 获取车上乘客数量 此处代码省略 return 0 void getOnPassenger Passenger aPassenger 乘客上车 此处代码省略 void run35 开车 if 32 System out println 司机尚未上车 return 此处代码省略 public static void main String args Driver driver new Driver 第五路公交车司机 Car car new Car 33 for int index 0 index MAX PASSENGERS index car getOnPassenger 34 Passenger35 car run35 答案 试题试题一一 1 2 A i 3 B j 4 5 6 B j 7 A i 8 9 试题试题二二 10 feof fp 11 i n char pstr n strlen word 求给定单词的长度 pstr char malloc n 3 申请给定单词的复数形式存储空间 if pstr n 2 return NULL strcpy pstr word 复制给定单词 if 6 pstr n 1 i pstr n e pstr n 1 s 7 else if pstr n 1 s pstr n 1 h pstr n 1 s pstr n 2 0 else pstr n s pstr n 1 0 9 main 11 int i char ps char wc 9 10 chair dairy boss circus fly dog church clue dish for i 0 i 9 i ps 10 printf s s n wc i ps 输出单词及其复数形式 free ps 释放空间 system pause 试题试题三三 阅读以下说明和 C 函数 将应填入 n 处的字句写在对应栏内 说明 若一个矩阵中的非零元素数目很少且分布没有规律 则称之为稀疏矩阵 对 m 行 n 列 的稀疏矩阵 M 进行转置运算后得到 n 行 m 列的矩阵 MT 如图 3 1 所示 为了压缩稀疏矩阵的存储空间 用三元组 即元素所在的行号 列号和元素值 表示稀 疏矩阵中的一个非零元素 再用一维数组逐行存储稀疏矩阵中的所有非零元素也称为三元 组顺序表 例如 图 3 1 所示的矩阵 M 相应的三元组顺序表如表 3 1 所示 其转置矩阵 MT 的三元组顺序表如表 3 2 所示 函数 TransposeMatrix Matrix M 的功能是对用三元组顺序表表示的稀疏矩阵 M 进行转置运算 对 M 实施转置运算时 为了将 M 中的每个非零元素直接存入其转置矩阵 MT 三元组顺 序表的相应位置 需先计算 M 中每一列非零元素的数目 即 MT 中每一行非零元素的数目 并记录在向量 num 中 然后根据以下关系 计算出矩阵 M 中每列的第一个非零元素在转置 矩阵 MT 三元组顺序表中的位置 cpot 0 0 cpot j cpot j 1 num j 1 j 为列号 类型 ElemType Triple 和 Matrix 定义如下 typedef int ElemType typedef struct 三元组类型 int r c 矩阵元素的行号 列号 ElemType e 矩阵元素的值 Triple typedef struct 矩阵的元组三元组顺序表存储结构 int rows cols elements 矩阵的行数 列数和非零元素数目 Triple data MAXSIZE Matrix C 语言函数 int TransposeMatrix Matrix M int j q t int num cpot Matrix MT MT 是 M 的转置矩阵 num int malloc M cols sizeof int cpot int malloc M cols sizeof int if num cpot return ERROR MT rows 11 设置转置矩阵 MT 行数 列数和非零元素数目 MT cols 12 MT elements M elements if M elements 0 for q 0 q M cols q num q 0 for t 0 t M elements t 计算矩阵 M 中每一列非零元素 数目 num M data t c 计算矩阵 M 中每列第一个非零元素在其转置矩阵三元组顺序表中的位置 13 for j 1 j M cols j cpot j 14 以下代码完成转置矩阵 MT 三元组顺序表元素的设置 for t 0 t M elements t j 15 取矩阵 M 的一个非零元素的列号存入 j q 为该非零元素在转置矩阵 MT 三元组顺序表中的位置 下标 q cpot j MT data q r M data t c MT data q c M data t r MT data q e M data t e cpot j 计算 M 中第 j 列的下一个非零元素的目的位置 for if free num free cpot 此处输出矩阵元素 代码省略 return OK TransposeMatrix 试题试题四四 阅读以下说明和 C 语言函数 将应填入 n 处的字句写在答题纸的对应栏内 说明 假设一个剧场有 N N 个座位 顾客买票时可以提出任意有效的座号请求 下面用二维 数组 a N N 模拟剧场中的座位 a i j 等于 0 表示第 i 排第 j 列 0 i j N 1 的票 尚未售出 函数 int Find inta N int R int row int col 的功能是 在部分票 已售出的情况下 找出剧场中的 R R 个空座位 要求这些座位的排列形成一个正方形 若找 到满足要求的一个座位排列 则函数返回 1 并算出该正方形左上角的行 列号 若未找到 则返回 0 例如 一个 7 7 个座位的剧场如下图 a 所示 已售出部分座位的剧场如下图 b 所示 图中阴影部分表示已售出的座位 从图 b 中找出的 3 3 正方形空座位如图 c 中斜线区 所示 C 语言函数 int Find int a N int R int row int col int i j k c t int FOUND 0 for i 0 FOUND i 从第 0 排开始查找 16 while j N R 1 17 k 查找第 i 排连续 的 R 个座位 if k R 找到第 i 排连续的 R 个空座位 for c 0 c R c 查找其余的 R R 1 个座位 for t 1 t R t if a 18 j c 0 break if t R break for if 19 FOUND 1 if 20 while for i if FOUND row i 1 col j 1 计算正方形区域的左上角坐标 return 1 return 0 试题试题五五 阅读以下说明和 C 函数 将应填入 n 处的字句写在答题纸的对应栏内 说明 某班级有 N 名学生 他们可根据自己的情况选修名称和数量不尽相同的课程 设 N 等 于 6 学生信息 所选课程及成绩用链表结构存储 如图 5 1 所示 程序中相应的类型定义如下 define N 6 struct node char cname 5 课程名 int grade 成绩 struct node next 指针 指示某学生选修的下一门课程及成绩 struct student char xh 5 学号 char name 20 姓名 struct node link 指针 指示出选修的课程及成绩链表 stud info n Stud info 为一个全局数组 函数 func char kc int num 的功能是统计选修了课程名为 kc 的学生的人 数 并返回该课程的平均成绩 若无人选修该课程 则平均成绩为 0 参数 num 带回选修课 程 kc 的学生人数 C 语言函数 double func char kc int num int i count 0 sum 0 count 用于记录选修课程名为 kc 的学生的 人数 double avg 0 0 struct node p for i 0 i N i p 21 取第土个学生所修课程链表的头指针 while p if 22 sum 23 count break if p p next while 24 if 25 avg double sum count 计算平均成绩 return avg func 从下列的 2 道试题 试题六至试题七 中任选 1 道解答 如果解答的试题数超过 1 道 则题号小的 1 道解答有效 试题试题六六 阅读以下说明和 C 程序代码 将应填入 n 处的字句写在答题纸的对应栏内 说明 在下面的 C 代码中 类 SalesTicket 能够完成打印票据正文的功能 类 HeadDecorator 与 FootDecorator 分别完成打印票据的抬头和脚注的功能 已知该程 序运行后的输出结果如下所示 请填补该程序代码中的空缺 这是票据的抬头 这是票据正文 这是票据的脚注 这是票据的抬头 这是票据的脚注 C 程序代码 include iostream using namespace std class SalesTicket public 26 printTicket31 cout 这是票据正文 endl class Decorator public SalesTicket SalesTicket ticket public Decorator SalesTicke t ticket t void printTicket 31 if ticket NULL ticket printTicket31 class HeadDecorator public Decorator public HeadDecorator SalesTicket t 27 void printTicket31 cout 这是票据的抬头 endl Decorator printTicket31 class FootDecorator public Decorator public FootDecorator SalesTicket t 28 void printTicket31 Decorator printTicket31 cout 这是票据的脚注 endl void main void SalesTicket t FootDecorator f HeadDecorator h 29 h printTicket31 cout endl FootDecorator a NULL HeadDecorator b 30 b printTicket31 试题试题七七 阅读以下说明和 Java 程序代码 将应填入 n 处的字句写在答题纸的对应栏内 说明 在下面的 Java 程序代码中 类 SalesTicket 能够完成打印票据正文的功能 类 HeadDecorator 与 FootDecorator 分别完成打印票据的抬头和脚注的功能 己知该程 序运行后的输出结果如下所示 请填补该程序代码中的空缺 这是票据的抬头 这是票据正文 这是票据的脚注 这是票据的抬头 这是票据的脚注 Java 程序代码 public class SalesTicket public void printTicket36 System out println 这是票据正文 public class Decorator extends SalesTicket SalesTicket ticket public Decorator SalesTicket t ticket t public void printTicket36 if ticket null ticket printTicket36 public class HeadDecorator extends Decorator public HeadDecorator SalesTicket t 31 public void printTicket36 System out rintln 这是票据的抬头 Super printTicket36 public class FootDecorator extends Decorator public FootDecorator SalesTicket t 32 public void printTicket36 super printTicket36 System out println 这是票据的脚注 public class Main public static void main String args Decorator T new HeadDecorator 33 T 34 System out println T new FootDecorator 35 T printTicket36 答案 试题试题一一 1 转第七步 2 栈为空 3 newcolor G x y 4 转第三步 5 可以 试题试题二二 6 pstr n 1 y 7 pstr n 2 0 8 pstr n 2 c pstr n 2 s 9 return pstr 10 plufal wc i 试题试题三三 11 M cols 12 M rows 13 cpot 0 0 14 cpot j 1 num j 1 15 M data t c 试题试题四四 16 j 0 17 k R 18 i t 19 c R 20 j 或 j 1 试题试题五五 21 stud info i link 22 strcmp p cname kc 23 sum p grade 24 num count 25 count 0 试题试题六六 26 virtual void 27 Decorator t 28 Decorator t 29 for i l s 0 i n 2 i if n i O 1 if 2 return 0 rerurn 1 说明 2 函数 int maxint int a int k 的功能是用递归方法求指定数组中前 k 个元素 的最大值 并作为函数值返回 C 函数 2 int maxint int a int k int t if 3 return 4 t maxint a 1 5 j return a 0 t a 0 t 试题试题三三 3 阅读以下函数说明和 C 语言函数 将应填入 n 处的字句写在对应栏内 说明 该程序从正文文件 test txt 中读入一批整数 并将它们按照递增的顺序存放在一个 链表中 其中 函数 struct Link insertChain struct Link head structLink k 用来寻找结点 k 在链表 head 中的插入位置 并插入该结点 C 程序 include stdio h include stdlib h struct Link int number struct Link next struct Link insertChain struct Link head struct Link k VOid main struct Link ptr head FILE fd int hum if fd fopen test txt r NULL print Cannot open this file n return head NULL while fscanf fd d hum 1 ptr 1 if ptr return ptr number hum ptr next NULL head insertChain head ptr 2 return struct Link insertChain struct Link head struct Link k struct Link ptr u ptr head while ptr k k number ptr number u ptr 3 if ptr head head k else 4 5 return head 试题试题四四 4 阅读以下函数说明和 C 语言函数 将应填入 n 处的字句写在对应栏内 说明 这是一个模拟渡口管理的算法 某汽车轮渡口 过江渡船每次能载 10 辆车过江 过江 车辆分为客车类和火车类 上船有如下规定 同类车先到先上船 客车先于货车上渡船 且每 上 4 辆客车 才允许上一辆货车 若等待客车不足 4 辆 则以货车代替 若无货车等待则允 许客车都上船 程序中用到的函数有 enqueue queue sq elemtype x 在队列 sq 中入队一个元 素 x outqueue queue sq elemtype x 在队列 sq 中出队一个元素 并将其值赋给 x empty queue sq 判断队列 sq 是否为空队 若为空 返回 1 否则返回 0 C 程序 include stdio h void pass queue bus truct bus 表示客车队列 truck 表示货车队列 char ch int n tag n 为车号 tag 为标志 tag 0 表示客车 tag 1 表示货车 intcount 0 countbus 0 counttruck 0 分别表示上渡船汽车数 客 车数 货车数 while 1 printf 输入命令 n Scanf c switch ch case e case E printf 车号 n Scanf d printf 客车 货车 0 1 n scanf d if 1 enqueue else enqueue break case i case I while count 10 if 2 bus 0 客车出队 outqueue printf 上船的车号为 n count 3 eise if 4 货车出队 countbus 0 outqueue printf 上船的车号为 n count counttruck else if empty outqueue n printf 没有 10 辆车排队轮渡 n count countbus else printf 没有 10 辆车排队轮渡 n retUrn break case q case Q break if ch q ch Q break 试题试题五五 5 阅读以下说明和 C 程序 将应填入 n 处的字句写在对应栏内 说明 下面程序输出一个矩形面积 以及矩形区域上的假想的作物产量 C 程序 include iostream h class crop assessment int actual crop int ideal crop public void set int in actual int in ideal actual crop in actual ideal crop in ideal int get actual crop void 1 int get ideal crop void 2 Class lot size int length int width 3 crop public void set int 1 int w int a int i length 1 width w crop set a i int get area void return length width int get data void return 4 int get data2 void freturn 5 int main Los size small medium small set 5 5 5 25 medium set 10 10 10 50 cout For a small lot of area smallget area n cout the actual crops are small get data2 n cout and ideal crops are small get data n cout For a medium Lot of area medium get area n cout the actual crops are medium get data2 n cout and ideal crops are medium get data n return 0 试题试题六六 6 阅读以下说明和 Java 程序 将应填入 n 处的字句写在对应栏内 说明 下面程序输出一个矩形面积 以及矩形区域上的假想的作物产量 Java 程序 public class MainJava public static void main String args Lot size small new Lot size Lot size medium new Lot size small set 5 5 5 25 medium set 10 10 10 50 System out println For a small lot of area small get area n System out println the actual crops are small get data2 n System out println and ideal crops are small get data n System out println For a medium lot of area medium get area n System out println the actual crops are medium get data2 n System out println and ideal crops are medium get data n class Crop assessment private int actual crop private int ideal crop public void set int in actual int in ideal actual crop in actual ideal crop in ideal public int get actual crop return 1 public int get ideal crop return 2 class Lot size private int length private int width private Crop assessment crop 3 public void set int 1 int W int a int i length 1 width W crop set a i public int get area return length width public int get data freturn 4 public int get data2 return 5 答案 试题试题一一 1 1 n 1 1 2 a j 3 a j a i 4 a i 1 a i 5 a i 1 a 解析 本题目考查流程图 题目中已经给出了直接插入法排序的算法 由于该算法是从数组中第二个数起 取出并 与前面的数进行排序 直到数组中最后一个数排序完成 所以 循环变量初值为 1 终值为 N 1 增量为 1 按照题目中要求的格式 则为 1 N 1 1 由题目中的算法可知 我们要将取出来的数同排在其前面的数做比较 并插入 所以 首先要把取出来的数赋给一个变量 即 2 填入 a j 然后从第 j 1 个数开始 如果 a i a j 那么我们就将 a i N 移一位 以便空出一个位置来插入 a j 所以 4 填入 a i 1 a i 这样一直进行到 a i a j 或者 i 0 这时 我们就找到了 a j 要插 入的位置 可以将 a j 插入 即 3 填入 a j a i 5 填入 a i 1 a 试题试题二二 2 s i 2 n s 3 k 1 或 k 1 0 4 a 0 或 a 或 a k 1 5 k 1 或 k 解析 对于函数 1 是判断整数 n n 2 是否为完全数 首先用 for 循环求该整数的所有因 子之和 所以 1 填 s i 若其和等于整数本身 则为完全数 返回值为 0 则 2 填 n s 否则返回值为 1 对于函数 2 是用递归方法找出数组中的最大元素 该递归的出口条件为 k 1 即 3 填 k 1 或 k 1 0 只有一个数时 它本身就是最大的 4 填 a 0 或 a 或 a k 1 对于多个数的情况 在剩下的 k 1 个元素中找到最大的 并与首元素值比较 返 回最大的一个 所以 5 填 k 1 或 k 试题试题三三 3 struct Link malloc sizeof struct Link 2 fclose fd 3 ptr ptr next 或 ptr u next 4 u next k 5 k next ptr 解析 本题采用文件的输入方式 其主要思路 打开文件 从文件读入一个整数 动态申请 一个结点 将结点插入到以 head 为头指针的链表中 反复执行 和 直到文件结束 关闭文件 通过上述分析 不难得到 1 为申请结点 应该填 struct Link malloc sizeof structLink 2 为关闭文件 即 fclose fd 在插入结点时 让 u 指向插入结点 ptr 之前 因此 3 为 u 的下一个结点 填 ptr ptr next 或 ptr u next 插入结点时分为在头结点插入和 u 之后插入两种情况 4 为在 u 之后 插入的情况 应该填 u next k 5 填 k next ptr 试题试题四四 4 tag O 2 count 4 3 countbus 4 empty i 2 yes 1 while i a 2 i return yes 说明 2 函数 int deleteARR int arr intn 的功能是指定的有序数组压缩成各元素互不 相同的有序数组 即相同数只保留一个 多余的被删除 函数返回值是互不相同的元素个数 C 函数 2 int deleteARR int arr int n int k j k 0 j 1 while j n if 3 4 arr j j return 5 试题试题三三 3 阅读以下函数说明和 C 语言函数 将应填入 n 处的字句写在对应栏内 说明 已知一棵二叉树用二叉链表存储 t 指向根结点 p 指向树中任一结点 下列算法为输 出从 t 到 P 之间路径上的结点 C 程序 define Maxsize 1000 typedef struct node TelemType data struct node 1child rchild BiNode BiTree void Path BiTree t BiNode P BiTree stack Maxsize stackl Maxsize q int tag Maxsize top 0 topl q t 通过先序遍历发现 P do while q NULL stack top q tag top 0 2 if top 0 if stack top P break 找到 P 栈底到栈顶为 t 到 P if tag top 1 top else q stack top q q rchild tag top 1 3 top topl 0 while top 0 q stack top 反向打印准备 topl 4 top while 5 打印栈的内容 q stackl topl printf q data topl 试题试题四四 4 阅读以下函数说明和 C 语言函数 将应填入 n 处的字句写在对应栏内 说明 某银行共发出 M 张储蓄卡 每张储蓄卡拥有唯一的卡号 每天每张储蓄卡至多支持储蓄 卡持有者的 N 笔 存款 或 取款 业务 程序中用数组 card M N 3 中的每一行存放一 张储蓄卡的有关信息 其中 card i 0 存放第 i 张卡的卡号 card i 1 存放第 i 张卡的余额 card i 2 存放第 i 张卡的当日业务实际发生笔数 card i 3 card i N 2 存放第 i 张卡的当日存取款金额 正值代表存款 负 值代表取款 当持卡者输入正确的卡号 存款或取款金额后 程序进行相应的处理 若输入不正确的 数据 程序会提示持卡者重新输入 若输入的卡号为负数时 银行终止该卡的当日业务 C 程序 include stdio H define M 6 define N 5 long card M N 3 9801 2000 0 9812 2000 2 9753 3000 1 8750 500 0 9604 2800 3 8901 5000 5 int locate long card N 3 int m long no int i for i 0 i m i if 1 no return i 2 main long cardNo money int k while 1 printf 请输入卡号 n scanf 1d if cardNo 0 break k locate card M cardNo if k 1 printf 不存在 id 号的储蓄卡 n cardNo continue printf 请输入金额 正值代表存款 负值代表取款 n scanf id if card k 1 money 0 printf 存款余额不足 不能完成本次的取款业务 n continue if card k 2 N printf 已完成本卡的当日业务 n continue 处理一笔业务的数据 card k 3 money 4 5 试题试题五五 5 阅读以下说明和 C 代码 将解答写入对应栏内 说明 类 Stock 的定义中有三处错误 分别在代码的第 04 06 10 行 请补齐下述代码中的 空缺 1 3 修改错误并给出修改后该行的完整代码 最后完善程序运行后的输出结果 C 程序 01 include iostream h 02 using namespace std 03 class Stock 04 protected 05 Stock shares 0 share val 0 0 Output 06 Stock int n 0 double pr 3 5 1 初始化 shares 值为 n 07 share val pr 08 Output 09 10 void Stock 11 void Output cout shares share val endl 12 public 13 成员函数 14 private 15 成员变量 16 int shares 17 double share val 18 19 20 void main 构造三个 Stock 对象 a b C 21 Stock a 1 22 Stock b 23 Stock C Stock 24 其他代码省略 且代码无输出 25 程序运行后的输出结果为 1 3 5 2 3 试题试题六六 6 阅读以下说明和 Java 代码 将解答写在对应栏内 说明 已知类 Stock 和类 JavaMain 都定义在 JavaMain java 文件中 类 stock 的定义 中有四处错误 分别在代码的第 01 02 06 07 行 请修改错误并给出修改后该行的完整 代码 并写出改正错误后程序运行的输出结果 Java 代码 01 public class Stock 02 static 03 shares 0 04 Share val 0 0 05 06 private Stock tgetData 07 private Stock int n double pr 0 08 shares n 09 share val pr 10 getData 11 12 public void getData 13 System out print shares share val 14 15 Drivate int shares 非静态变量 16 Drivate double

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论