吉林大学《程序设计基础》历年试题及答案.pdf_第1页
吉林大学《程序设计基础》历年试题及答案.pdf_第2页
吉林大学《程序设计基础》历年试题及答案.pdf_第3页
吉林大学《程序设计基础》历年试题及答案.pdf_第4页
吉林大学《程序设计基础》历年试题及答案.pdf_第5页
已阅读5页,还剩75页未读 继续免费阅读

吉林大学《程序设计基础》历年试题及答案.pdf.pdf 免费下载

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

文档简介

第 1 页 共 1 页 20201111 20201 12 2 学年学年 第第 1 1 学期学期 20200808 级级 高级语言高级语言程序设计程序设计 重修重修考试考试试题试题 B B 卷卷 考试时间 考试时间 2012 年年 04 月月 班级班级 学号学号 姓名姓名 请将答案写在答题纸上 写清题号 不必抄题 字迹工整 清晰 答题纸和试题纸上都写上班级 学号和姓名 交卷时将试题纸 答题纸和草纸一并交上来 每个题目不必给出对应的每个题目不必给出对应的PAD 图 但要添加必要的注释 程序命名和书写要规范图 但要添加必要的注释 程序命名和书写要规范 一 20 分 编写函数 实现按照如下公式计算的功能 f n 0 1 2 1 2 3 2 3 4 3 4 5 n n 1 n 2 其中 n 为自然数 二 20 分 编写 bool 函数 判断给定的整数数组 a n 中是否存在元素 a i 0 i n 等于其前 边的所有元素之和 即 a i a 0 a 1 a i 1 三 20 分 编写一个递归函数 计算组成给定正整数 n 的所有数字之和 例如 输入参数为 1035 则返回结果应该为 9 通过 1 0 3 5 9 得到 四 20 分 构造一个表示教师的结构体 包含 3 个字段 姓名 性别 年龄 编写函数 读 入 M 个教师的信息 存入一个结构体数组中 如下图所示 张三 李四 赵九 男 true 女 false 男 true 50 37 29 图 1 管理教师信息的结构体数组 例如 一个教师的信息为 Zhangsan true 50 另一个教师的信息为 Lisi false 37 五 20 分 设有一个保存教师信息的单链表 每个结点包含 4 个字段 姓名 性别 年龄 后 继指针 如下图所示 构造该链表中一节的数据类型声明 编写函数 在给定链表上查 找所有女教师的信息 并存储到指定文件 output txt 中 张三 李四 王五 赵九 男 true 女 false 男 true 男 true 50 37 48 29 图 2 管理教师信息的单链表 第 1 页 共 2 页 20201 11 1 20201 12 2 学年学年 第第 1 1 学期学期 20200808 级级 高级语言高级语言程序设计程序设计 重修重修考试考试试题试题 B B 卷卷 答 案 及 评 分 标 准答 案 及 评 分 标 准 考试时间 考试时间 2012 年年 4 月月 一 满分20 分 int fac int n 阶乘函数1 循环形式 10分 int i r 1 for i 1 i n i r r i return r int fac int n 阶乘函数2 递归形式 10分 if n 0 return 1 return n f facac n n 1 1 利用阶乘函数的计算函数 10分 float f int n float f 0 for int i 0 i n i f f i 1 0 i 1 fac i 2 return f 参考要点 阶乘函数 10分 累加计算功能 10 分 二 满分20分 bool exist int a int n int sum 0 for int i 0 i n 1 i sum sum a i 累加到第i项 if sum a i 1 判断相等 return true return false 参考要点 累加函数 10分 判定过程 10 分 三 满分20分 int f int n if n 10 递归出口 return n return n 10 f n 10 递归调用 参考要点 递归出口 10分 递归过程 10分 第 2 页 共 2 页 四 满分20分 include struct Teacherstruct Teacher 结构体定义 5分 char name 10 bool sex int age void save struct Teacherstruct Teacher st int M int i for i 0 i M i scanf s scanf s st i name scanf s st i name scanf s st i name 也可也可 scanf d scanf d 参考要点 结构体定义 5分 stdio h头文件 包含命令 5分 存储函数 10分 五 满分20分 头文件包含命令 2分 include include struct nodestruct node 链表定义 5分 char name 10 bool sex int age struct nodestruct node next void save struct nodestruct node h 文件定义 2分 和打开 4分 FILE file if file fopen output txt w NU LL printf File Open Error 文件存储过程 5分 while h NULL if h sex false fprintffprintf filefile 10s st i namest i name fprintf file 5d n st i age h h next 文件关闭 2分 fclose file 参考要点 结构体定义 5分 stdio h头文件 包含命令 2分 文件定义 2分 存储 5分 打开 4分 和关闭 2分 第 1 页 共 1 页 20201010 20201111 学年学年 第第 1 1 学期学期 20201010 级级 高级语言程序设计高级语言程序设计 考试 考试试题试题 A A 考试时间 考试时间 2011 年年 01 月月 班级班级 学号学号 姓名姓名 请将答案写在答题纸上 写清题号 不必抄题 字迹工整 清晰 请在答题纸和试题纸上都写上你的班级 学号和姓名 交卷时请将试题纸 答题纸和草纸一并交上来 一 20 分 编写程序 根据如下公式计算圆周率 的值 精确到 1e 5 2 2 1 2 3 4 3 4 5 6 5 6 7 8 7 8 9 2n 2n 1 2n 2n 1 二 20 分 编写程序 由键盘输入一个字符串 仅包括数字字符 英文字符和空格 把该字符 串中英文字符和空格过滤掉 提取所有整数 并将得到的整数序列输出到文件 int txt 中 例 如 输入字符串为 12A34 567Bc89D 则得到的整数序列为 12 34 567 89 表示 空格 三 20 分 编写程序 打印一个 n 行 n 列矩阵中所有满足下面条件的元素 aij 1 aij是第 i 行中所有元素的最大值 2 如果将第 j 列中所有元素 a1j a2j anj 按照从小到大的顺序排序 aij为第 j 2 个元素 最小 元素为第 0 个元素 j 2 为整数除法 四 20 分 每个学生的信息卡片包括学号 姓名和性别三项 编写程序 由键盘依次输入 n 个 学生的信息 创建一个用于管理学生信息的单链表 如下图所示 必须说明该单链表中每个 结点的数据类型定义 并在该单链表中添加一个给定结点 x 05 张三 男 03 李四 女 33 王五 男 07 赵九 男 图 1 管理学生信息的单链表 五 20 分 编写程序 在上述建立的单链表中删除所有学号为 z 的结点 学号为 z 的结点可能有 多个 第 1 页 共 1 页 20201010 20201111 学年学年 第第 1 1 学期学期 20201010 级级 高级语言程序设计高级语言程序设计 考试 考试试题试题 B B 考试时间 考试时间 2011 年年 01 月月 班级班级 学号学号 姓名姓名 请将答案写在答题纸上 写清题号 不必抄题 字迹工整 清晰 请在答题纸和试题纸上都写上你的班级 学号和姓名 交卷时请将试题纸 答题纸和草纸一并交上来 一 20 分 编写程序 根据如下公式计算 X 的值 精确到 1e 5 X 1 1 2 1 1 3 4 3 1 5 6 5 1 7 8 7 1 2n 1 2n 2n 1 二 20 分 编写程序 由键盘输入一个字符串 仅包括数字字符 英文字符和空格 把该字符 串数字字符和空格过滤掉 提取所有字符 并将得到的字符序列逆序输出到文件 char txt 中 例如 输入字符串为 12A34 567Bc89D 表示空格 则输出到文件中的字符序列为 DcBA 三 20 分 编写程序 输出一个 n 行 n 列矩阵中所有鞍点 aij 即元素 aij满足下列条件 1 aij是第 i 行中所有元素的最小值 2 aij是第 j 列中所有元素的最大值 四 20 分 编写程序 将一个单链表转换为一个反向的单链表 五 20 分 每个教师的信息卡片包括教工号 姓名 职称和学院名称三项 编写程序 由键盘 依次输入 n 个教师的信息 创建一个用于管理教师信息的单链表 如下图所示 必须说明该 单链表中每个结点的数据类型定义 并保证添加完所有信息后 该单链表按照教工号从小 到大排序 1005 Zhang San Prof CCST 1420 Li Si Lect CS 5862 Wang Wuchang Assi CCST 7582 Zhao Tianyi Prof CS 图 1 管理教师信息的单链表 第 1 页 共 1 页 20201111 20201 12 2 学年学年 第第 1 1 学期学期 20201111 级级 高级语言高级语言程序设计程序设计 考试 考试试题试题 A A 卷卷 考试时间 考试时间 2012 年年 01 月月 班级班级 学号学号 姓名姓名 请将答案写在答题纸上 写清题号 不必抄题 字迹工整 清晰 请在答题纸和试题纸上都写上你的班级 学号和姓名 交卷时请将试题纸 答题纸和草纸一并交上来 每个题目必须添加必要的注释 程序命名和书写尽可能规范每个题目必须添加必要的注释 程序命名和书写尽可能规范 一 20 分 编写函数 判定正整数 m 和 n 均至少为 2 是否满足 数 m 为数 n 可分解的最小 质因数 数 n 可分解的最小质因数为能整除 n 的最小质数 提示 判定 m 为质数且 m 是 n 的最小因数 二 20 分 编写函数 对给定的整型数组 a 的前 n 个元素排序 使得所有正整数均出现在负整 数和 0 之前 提示 排序结果中 正整数之间的出现顺序不限制 负整数和 0 之间的出现顺序不限制 例如 原数组为 1 4 3 0 2 1 9 7 则排序后可以为 4 2 1 7 0 1 3 9 三 20 分 编写递归递归函数 实现按照如下公式计算的功能 提示 如果独立编写阶乘运算函数 可以不考虑存储溢出 默认结果类型为整型 f n 0 1 2 1 2 3 2 3 4 3 4 5 n n 1 n 2 其中 n 为自然数 四 20 分 定义一个表示学生的结构体 包含 3 个字段 姓名 性别 成绩 编写函数 将下 图所示的结构体数组 s 中的前 n 个学生的信息 存储到当前目录下的 output txt 文件中 提示 性别可以定义为 bool int enum 等类型均可 存储信息的具体形式不限制 张三 李四 赵九 男 true 女 false 男 true 83 76 97 图 1 管理学生信息的结构体数组 例如 一个学生的信息为 ZhangSan true 83 另一个学生的信息为 LiSi false 76 五 20 分 定义一个单链表 每个结点包含 2 个字段 整数信息 后继指针 如下图所示 编 写函数 删除该单链表中所含整数信息等于整数 x 的多个重复结点 1 5 5 1 图 2 单链表 例如 若单链表中存储的整数信息依次为 1 5 5 0 5 6 0 0 5 1 如果 x 为 5 则 得到的单链表中相应信息依次为 1 0 6 0 0 1 第 1 页 共 3 页 20201 11 1 20201 12 2 学年学年 第第 1 1 学期学期 20201111 级级 高级语言高级语言程序设计程序设计 考试 考试试题试题 A A 卷卷 答 案 及 评 分 标 准答 案 及 评 分 标 准 考试时间 考试时间 2012 年年 1 月月 一 满分20分 bool f int m int n int i 保证m为n的因数 5分 if n m 0 return false 保证m为质数 10分 for i 2 i mi m i if m i 0 return false 保证n没有小于m的因数 5分 for i 2 i mi m i if n i 0 return false return true 简化程序为 bool f int m int n int i 判断所有小于m的数均不能整除m和n m 为质数 n没有小于m的因数 for i 2 i mi m i 15分 if m i 0 n i 0 return false 判断m是否为n的因数 if n m 0 5分 return false else return true 参考要点 判断因数 5分 判断素数 5分 判断最小性 10分 第 2 页 共 3 页 二 满分20分 void f int a int n 插入排序 int temp i j for i 1 i0 temp a i j i 1 while j 0 j a j 1 temp void f int a int n 交换排序 int temp i 0 j n 1 while i j i0 i while a j 0 j if i j i j temp a i a i a j a j temp 三 满分20分 int fac int n 阶乘函数1 循环形式 10分 int i r 1 for i 1 i n i r i return r 利用阶乘函数的递归函数 10分 double f int n if n 0 return 0 return f nf n 1 1 n 1 0 n 1 fafac c n 2 n 2 int fac int n 阶乘函数2 递归形式 10分 if n 0 return 1 return n f facac n n 1 1 未利用阶乘函数的递归函数 20分 double f int n if n 0 return 0 int i fac 1 for i 1 i n 2n 2 i fac i return f nf n 1 1 n 1 0 n 1 facfac 参考要点 递归出口 5分 递归过程 5分 阶乘运算 10分 第 3 页 共 3 页 四 满分20分 结构体定义 5分 struct Studentstruct Student char name 10 bool sex int score 头文件包含命令 2分 include include void save struct Student st int n 文件定义 文件定义 2 2分 和打开 分 和打开 4 4分 分 FILE file if file fopen output txt w NU LL printf File Open Error 文件存储过程 int i for i 0 ikey x q p q p p p p p next next if p NULL 分情况讨论 p p next 删除p指向结点 if q NULL p为非头结点 q q next p next p else p为头结点 h p h p return h 参考要点 链表定义 5分 删除函数 15分 第 1 页 共 1 页 20201111 20201 12 2 学年学年 第第 1 1 学期学期 20201111 级级 高级语言高级语言程序设计程序设计 考试 考试试题试题 B B 考试时间 考试时间 2012 年年 01 月月 班级班级 学号学号 姓名姓名 请将答案写在答题纸上 写清题号 不必抄题 字迹工整 清晰 请在答题纸和试题纸上都写上你的班级 学号和姓名 交卷时请将试题纸 答题纸和草纸一并交上来 每个题目必须添加必要的注释 程序命名和书写尽可能规范每个题目必须添加必要的注释 程序命名和书写尽可能规范 一 20 分 编写函数 实现按照如下公式计算的功能 f n 0 1 2 1 2 3 2 3 4 3 4 5 n n 1 n 2 其中 n 为自然数 二 20 分 编写函数 对给定的整数数组 a 数组长度和元素个数均为 N 进行判定 是否存在 某个整数 a i 0 i N 等于在其之前的所有整数的和 即 a i a 0 a 1 a i 1 三 20 分 编写一个递归函数 计算给定正整数的所有组成数字之和 例如 输入参数为 105 则返回结果应该为 6 通过 1 0 5 6 得到 四 20 分 构造一个表示教师的结构体 包含 3 个字段 姓名 性别 年龄 编写函数 读入 M 个教师的信息 存入一个结构体数组中 如下图所示 张三 李四 赵九 男 true 女 false 男 true 50 37 29 图 1 管理教师信息的结构体数组 例如 一个教师的信息为 Zhangsan true 50 另一个教师的信息为 Lisi false 37 五 20 分 构造一个保存教师信息的单链表 每个结点包含 4 个字段 姓名 性别 年龄 后 继指针 如下图所示 编写函数 查找所有女教师的信息 并存储到指定文件 output txt 中 张三 李四 王五 赵九 男 true 女 false 男 true 男 true 50 37 48 29 图 2 管理教师信息的单链表 第 1 页 共 1 页 20201 12 2 20201 13 3 学年学年 第第 1 1 学期学期 20201 12 2 级 级 高级语言高级语言程序设计 考试试题程序设计 考试试题 A A 卷卷 考试时间 考试时间 2013 年年 01 月月 班级班级 学号学号 姓名姓名 请将答案写在答题纸上 写请将答案写在答题纸上 写清清题号 不必抄题 字迹工整 清晰 题号 不必抄题 字迹工整 清晰 请在试题纸 答题纸和草稿纸上请在试题纸 答题纸和草稿纸上都写上班级都写上班级 学号和姓名 交卷时一学号和姓名 交卷时一并提交并提交 每个题目每个题目不必给出对应的不必给出对应的PAD 图 但要图 但要添加必要的注释 程序命名和书写添加必要的注释 程序命名和书写要要规范规范 一 一 20 分分 编写函数 编写函数 输出任意输出任意正正整数整数 n 的的位数位数 n 默认为默认为存储存储十进制数十进制数的的整型整型变量变量 例如 正整数例如 正整数 13 则输出 则输出 2 正整数 正整数 3088 则输出 则输出 4 二 二 20 分分 编写函数 对给定的编写函数 对给定的有序有序整整型型数组进行数组进行整理整理 使得 使得所有所有整数整数只只保留保留一一次次出现出现 例如 原数组为例如 原数组为 2 1 1 0 0 1 4 4 4 则 则处理处理后后的结果为的结果为 2 1 0 1 4 三 三 20 分分 编写递归函数 编写递归函数 求求两个数两个数 x 和和 y 的的最大公约数最大公约数 公式公式递归递归定义如下 定义如下 四 四 20 分分 给定给定图图 1 所示的存储学生信息所示的存储学生信息的结构体的结构体数组数组 每个结构体每个结构体包含包含 3 个字段 姓名 个字段 姓名 性别 成绩 编写性别 成绩 编写函数函数 将 将指定文件指定文件 in txt 中的中的所有男学生所有男学生信息存储到信息存储到该该结构体数组中结构体数组中 假定文件中存储信息与结构体信息格式对应 假定文件中存储信息与结构体信息格式对应 张三张三 李四李四 赵九赵九 男男 true true 女女 false false 男男 true true 8383 7676 9797 图图 1 存储存储学生信息的结构体数组学生信息的结构体数组 例如 一个学生的信息为例如 一个学生的信息为 Zhangsan 1 83 另一个学生的信息为 另一个学生的信息为 Lisi 0 76 五 五 20 分分 给定给定图图 2 所示的所示的单链表 每个结点包含单链表 每个结点包含 2 个字段 整数信息 后继指针 个字段 整数信息 后继指针 编写函编写函 数 数 删除该单链表中删除该单链表中整数信息为整数信息为奇奇数数的结点的结点 1 5 6 1 图图 2 单链表单链表 例如 若单链表中存储的整数信息依次为例如 若单链表中存储的整数信息依次为 1 5 6 3 6 0 0 5 2 1 则得到的单链 则得到的单链 表中相应信息依次为表中相应信息依次为 6 6 0 0 2 第 1 页 共 3 页 20201 11 1 20201 12 2 学年学年 第第 1 1 学期学期 20201 12 2 级级 高级语言高级语言程序设计程序设计 考试 考试试题试题 A A 卷卷 答 案 及 评 分 标 准答 案 及 评 分 标 准 考试时间 考试时间 2013 年年 1 月月 一 满分20分 参考答案 1 include 头文件包含命令 2分 void f int n 18分 int i 0 while n 0 每去掉1位 位数加1 n 10 i printf d i 参考答案 2 include 头文件包含命令 2分 void f int n 18分 int i 1 max 10 最大i位数小于max while n max i max 10 printf d i 二 满分20分 参考答案 1 int f int a int n int i j for i 0 i n 1 i if a i a i 1 删除第 i 1 个 for j i 1 j n 1 j a j a j 1 i n return n 数组剩余元素个数 参考答案 2 int f int a int n int i j for i 1 i n i if a i a i 1 删除第 i 个 for j i j n 1 j a j a j 1 i n return n 数组剩余元素个数 第 2 页 共 3 页 三 满分20 分 参考要点 递归出口 10分 递归过程 10分 参考答案 1 int gcd int x int y if y 0 return x else return gcd y x y 参考答案 2 int gcd int x int y if y 0 return x return gcd y x y 四 满分20分 参考要点 结构体定义 5分 stdio h头文件 包含命令 2分 文件定义 2分 文件读入过 程 5分 文件打开 4分 和文件关闭 2分 结构体定义 5分 struct Student char name 10 bool sex int score 头文件包含命令 2分 include int save struct Student st 13分 文件定义 2分 和打开 4分 FILE file if file fopen in txt r NULL printf File Open Error 文件读入过程 5分 int i 0 while feof file fscanf file s st i name fscanf file d fscanf file d fscanf file n if st i sex i 文件关闭 2分 fclose file return i 第 3 页 共 3 页 五 满分20分 参考要点 链表定义 5分 删除函数 15分 链表定义 5分 struct node int key struct node next 删除函数 15分 参考答案 1 struct node del struct node h p为当前结点 q为p的前驱结点 2分 struct node p h q NULL while p NULL 循环控制 5分 if p key 2 1 奇数结点 5分 if q NULL 删除非头结点 q next p next else 删除头结点 h p next else 偶数结点 3分 q p p p next 循环控制 return h 删除函数 15分 参考答案 2 struct node del struct node h p为当前结点 q为p的前驱结点 2分 struct node p h q NULL while p NULL 循环控制 5分 if p key 2 0 偶数结点 3分 q p else 奇数结点 5分 if q NULL 删除头结点 h p next else 删除非头结点 q next p next p p next 循环控制 return h 删除函数 15分 参考答案 3 struct node del struct node h 过滤掉前面的奇数结点 3分 while h NULL p为当前结点 q为p的前驱结点 2分 struct node p h q NULL while p NULL 循环控制 5分 if p key 2 0 偶数结点 3分 q p else 奇数结点 2分 q next p next p p next 循环控制 return h 第 1 页 共 1 页 20201 12 2 20201 13 3 学年学年 第第 1 1 学期学期 20201 12 2 级 级 高级语言高级语言程序设计 考试试题程序设计 考试试题 B B 卷卷 考试时间 考试时间 2013 年年 01 月月 班级班级 学号学号 姓名姓名 请将答案写在答题纸上 写清题号 不必抄题 字迹工整 清晰 请将答案写在答题纸上 写清题号 不必抄题 字迹工整 清晰 请在试题纸 答题纸和草稿纸上都写上班级 学号和姓名 交卷时一并提交 请在试题纸 答题纸和草稿纸上都写上班级 学号和姓名 交卷时一并提交 每个题目不必给出对应的每个题目不必给出对应的PAD 图 但要添加必要的注释 程序命名和书写要规范 图 但要添加必要的注释 程序命名和书写要规范 一 一 20 分分 编写函数 编写函数 输出任意正整数输出任意正整数 n 的最高的最高位位数字 数字 n 默认为存储十进制数的整型变量 默认为存储十进制数的整型变量 例如 例如 正整数正整数 13 则输出 则输出 1 正整数 正整数 3088 则输出 则输出 3 二 二 20 分分 编写函数 对给定的编写函数 对给定的有序有序整整型型数组进行数组进行整理整理 使得 使得所有所有整数整数重复重复 2 次次出现出现 例如 原数组为例如 原数组为 2 1 1 0 0 1 4 4 4 则 则处理处理后后的结果为的结果为 2 2 1 1 1 1 0 0 0 0 1 1 4 4 4 4 4 4 三 三 20 分分 编写递归函数 编写递归函数 求任意正整数求任意正整数 n 从右边开始的第从右边开始的第 j 位数字 位数字 默认 默认 最右侧最右侧为第为第 1 位 位 公式递归定义如下 公式递归定义如下 四 四 20 分分 构造图构造图 1 所示的存储学生信息的结构体数组 每个结构体包含所示的存储学生信息的结构体数组 每个结构体包含 3 个字段 姓名 性别 个字段 姓名 性别 成绩 成绩 编写编写函数函数 将 将该结构体数组中该结构体数组中前前 M 个成绩为优秀的学生信息存储到个成绩为优秀的学生信息存储到指定文件指定文件 out txt 中中 张三张三 李四李四 赵九赵九 男男 true true 女女 false false 男男 true true 8383 7676 9797 图图 1 存储存储学生信息的结构体数组学生信息的结构体数组 例如 一个学生的信息为例如 一个学生的信息为 Zhangsan 1 83 另一个学生的信息为 另一个学生的信息为 Lisi 0 76 五 五 20 分分 构构造造图图 2 所示的所示的单链表 每个结点包含单链表 每个结点包含 2 个字段 整数信息 后继指针 个字段 整数信息 后继指针 编写函数 编写函数 从单链表的头结点依次处理从单链表的头结点依次处理每个每个结点 结点 仅保留仅保留其整数信息其整数信息大大于当前于当前前驱结点的整数信息的结点前驱结点的整数信息的结点 使得处理后的单链表中整数信息满足使得处理后的单链表中整数信息满足递增递增顺序顺序 1 5 6 1 图图 2 单链表单链表 例如 若单链表中存储的整数信息依次为例如 若单链表中存储的整数信息依次为 1 5 6 3 7 7 0 5 8 1 则 则处理后处理后得到的单得到的单 链表中链表中存储的整数存储的整数信息依次为信息依次为 1 5 6 7 8 处理过程处理过程 在保留了 在保留了 1 5 6 之后 之后 3 由于小由于小 于之前保留的于之前保留的 6 而舍弃 而舍弃 之后保留之后保留第一个第一个 7 第二个 第二个 7 由于等于之前保留的由于等于之前保留的 7 而舍弃而舍弃 0 和和第第 二个二个 5 由于小于之前保留的由于小于之前保留的 7 而舍弃 而舍弃 之后保留之后保留 8 第二个第二个 1 由于小于之前保留的由于小于之前保留的 8 而舍弃 而舍弃 第 1 页 共 3 页 20201 11 1 20201 12 2 学年学年 第第 1 1 学期学期 20201 12 2 级级 高级语言高级语言程序设计程序设计 考试 考试试题试题 B B 卷卷 答 案 及 评 分 标 准答 案 及 评 分 标 准 考试时间 考试时间 2013 年年 1 月月 一 满分20分 参考答案 1 include 头文件包含命令 2分 void f int n 18分 while n 10 直到剩余1位 n 10 printf d n 参考答案 2 include 头文件包含命令 2分 void f int n 18分 int max 1 大于n的最小10幂次max do max 10 while n max printf d n max 10 三 满分20分 参考要点 递归出口 10分 递归过程 10分 参考答案 1 int digit int n int j if j 1 return n 10 else return digit n 10 j 1 参考答案 2 int digit int n int j if j 1 return n 10 return digit n 10 j 1 第 2 页 共 3 页 二 满分20分 参考答案 1 void f int a int n int i j for i 0 ii j 复制第i个 元素 10分 a j a j 1 参考答案 2 void f int a int n 参考答案2 20分 int i j n for i 0 i n i 复制元素 10分 a j a i j sort a 2 n 排序过程 10分 排序过程可以选择如下几种方法 1 直接插入排序 for i 1 i 0 j a j 1 a j a j 1 temp 2 直接选择排序 for i 0 i N 1 i min i for j i 1 ja j min j temp a i a i a min a min temp 3 直接交换排序 冒泡排序 for i 0 i N 1 i for j 1 ja j temp a j a j a j 1 a j 1 temp 改进版本2 for i 0 i N 1 i isChanged false for j 1 ja j temp a j a j a j 1 a j 1 temp isChanged true if isChanged break 第 3 页 共 3 页 四 满分20分 参考要点 结构体定义 5分 stdio h头文件 包含命令 2分 文件定义 2分 文件读入过 程 5分 文件打开 4分 和文件关闭 2分 结构体定义 5分 struct Student char name 10 bool sex int score 头文件包含命令 2分 include void save struct Student st 13分 文件定义 2分 和打开 4分 FILE file if file fopen out txt w NULL printf File Open Error 文件写入过程 5分 int i 0 k 0 while k 90 fprintf file s st i name fprintf file d st i sex fprintf file d st i score fprintf file n k i 文件关闭 2分 fclose file 五 满分20分 参考要点 链表定义 5分 删除函数 15分 链表定义 5分 struct node int key struct node next 删除函数 15分 参考答案 1 void del struct node h if h NULL 空链表处理 2分 return p为当前结点 q为p的前驱结点 2分 struct node q h p h next while p NULL 循环控制 5分 if q key p key 删除 3分 q next p next else 保留 3分 q p p p next 循环控制 删除函数 15分 参考答案 2 void del struct node h if h NULL 空链表处理 2分 return q为当前结点的前驱节点 2分 struct node q h while q next NULL 循环控制 5分 if q key q next key 删除 3 分 q next q next next else 保留 3分 q q next 第 1 页 共 1 页 20201 13 3 20201 14 4 学年学年 第第 1 1 学期学期 20201 13 3 级 级 高级语言高级语言程序设计 考试试题程序设计 考试试题 A A 卷卷 考试时间 考试时间 2014 年年 01 月月 班级班级 学号学号 姓名姓名 请将答案写在答题纸上 写请将答案写在答题纸上 写清清题号 不必抄题 字迹工整 清晰 题号 不必抄题 字迹工整 清晰 请在试题纸 答题纸和草稿纸上请在试题纸 答题纸和草稿纸上都写上班级都写上班级 学号和姓名 交卷时一学号和姓名 交卷时一并提交并提交 每个题目每个题目不必给出对应的不必给出对应的PAD 第一题除外 第一题除外 但要 但要添加必要的注释 程序命名和书写添加必要的注释 程序命名和书写要要规范规范 一 一 20 分分 画画出出对长度为对长度为 n 的整型数组的整型数组 a 进行进行冒泡冒泡排序排序 Bubble Sort 的的 PAD 注 注 请先简要请先简要描述排序思想描述排序思想 之后 之后画画出完整的出完整的 PAD 不需要编写程序 不需要编写程序 二 二 20 分分 编写函数 实现按照如下公式计算的功能 编写函数 实现按照如下公式计算的功能 f n 2 3 0 3 4 1 4 5 2 n n 1 n 2 其中 其中 n 为自然数且为自然数且 n 2 0 1 三 三 20 分分 编写递归函数 编写递归函数 按照如下定义计算按照如下定义计算 Hermite 多项式多项式 公式公式递归递归定义如下 定义如下 1 四 四 20 分分 定义定义存储学生信息的存储学生信息的结构体结构体至少至少应应包含包含 学号 学号 姓名 成绩姓名 成绩 指向下一个结构体 指向下一个结构体 的指针等字段的指针等字段 编写编写函数函数 从从指定文件指定文件 class531316 txt 中中读入读入所有所有学生学生信息信息 假定文件中 假定文件中 存储信息与结构体信息格式对应 存储信息与结构体信息格式对应 构建为图 构建为图 1 所示的所示的链表链表 5313160153131601 5313160253131602 5313160353131603 5313163653131636 ZhangsanZhangsan LisiLisi W Wangwuangwu Z Zhaosanliuhaosanliu 8585 3737 9898 7979 图图 1 存储存储学生信息的结构体学生信息的结构体链表链表 五 五 20 分分 给定给定图图 2 所示的所示的链表链表 每个结点包含每个结点包含 整数信息整数信息 key 和和后继指针后继指针 next 编写函数 编写函数 删除删除该链表中的具有最大该链表中的具有最大 key 值和最小值和最小 key 值的结点 注 值的结点 注 key 值可能重复 值可能重复 1 0 3 1 图图 2 单链表单链表 例如 若例如 若链表中存储的链表中存储的 key 值值依次为依次为 1 0 3 5 2 5 3 0 7 9 1 最大最大 key 值为值为 9 最小最小 key 值为值为 0 则处理后的则处理后的链表中链表中存储的存储的 key 值值依次为依次为 1 3 5 2 5 3 7 1 第 1 页 共 1 页 20201 13 3 20201 14 4 学年学年 第第 1 1 学期学期 20201 13 3 级 级 高级语言高级语言程序设计 考试试题程序设计 考试试题 B B 卷卷 考试时间 考试时间 2014 年年 01 月月 班级班级 学号学号 姓名姓名 请将答案写在答题纸上 写请将答案写在答题纸上 写清清题号 不必抄题 字迹工整 清晰 题号 不必抄题 字迹工整 清晰 请在试题纸 答题纸和草稿纸上请在试题纸 答题纸和草稿纸上都写上班级都写上班级 学号和姓名 交卷时一学号和姓名 交卷时一并提交并提交 每个题目每个题目不必给出对应的不必给出对应的PAD 第一题除外 第一题除外 但要 但要添加必要的注释 程序命名和书写添加必要的注释 程序命名和书写要要规范规范 一 一 20 分分 给定给定长度为长度为 n 的整型数组 的整型数组 画画出出将将其中其中每个元素右移每个元素右移 j 个位置的个位置的 PAD 0 j 0 0 1 三 三 20 分分 编写递归函数 编写递归函数 输出输出一个正整数的所有质因数一个正整数的所有质因数 质因数分解中得到的重复质因数 质因数分解中得到的重复质因数 需要多次输出 需要多次输出 例如 例如 1 没有质因数 没有质因数 2 的质因数为的质因数为 2 18 的质因数为的质因数为 2 3 和和 3 48 的质因数为的质因数为 2 2 2 2 和和 3 四 四 20 分分 定义定义存储学生信息的存储学生信息的结构体结构体包含包含 学号 学号 姓名 成绩姓名 成绩 指向下一个结构体的指针 指向下一个结构体的指针 4 个个字段字段 编写编写函数函数 将图将图 1 所示的链表中成绩不及格 所示的链表中成绩不及格 0 59 分 的学生人数和不及格学生分 的学生人数和不及格学生 的全部信息存储到的全部信息存储到指定文件指定文件 class531316 txt 中中 5313160153131601 5313160253131602 5313160353131603 5313163653131636 ZhangsanZhangsan LisiLisi W Wangwuangwu Z Zhaosanliuhaosanliu 8585 3737 9898 7979 图图 1 存储存储学生信息的结构体学生信息的结构体链表链表 五 五 20 分分 给定给定图图 2 所示的所示的链表链表 每个结点包含每个结点包含 整数信息整数信息 key 和和后继指针后继指针 next 编写函数 编写函数 对该链表进行排序对该链表进行排序 使得处理后的 使得处理后的链表保持链表保持非降非降序序 1 0 3 1 图图 2 单链表单链表 例如 若例如 若链表中存储的链表中存储的 key 值值依次为依次为 1 0 3 3 0 7 9 1 则处理后的 则处理后的链表中链表中存储的存储的 key 值值依次为依次为 0 0 1 1 3 3 7 9 第 1 页 共 1 页 20201 14 4 20201 15 5 学年学年 第第 1 1 学期学期 20201 14 4 级 程序设计级 程序设计基础基础 期期末末考试试题考试试题 A A 考试时间 考试时间 2015 年年 01 月月 班级班级 学号学号 姓名姓名 请将答案写在答题纸上 写请将答案写在答题纸上 写清清题号 不必抄题 字迹工整 清晰题号 不必抄题 字迹工整 清晰 请在试题纸 答题纸和草稿纸上请在试题纸 答题纸和草稿纸上都写上班级都写上班级 学号和姓名 交卷时一学号和姓名 交卷时一并提并提 交交 每题每题均需要均需要编写程序或函数编写程序或函数 必须必须添加必要的注释 程序命名和书写添加必要的注释 程序命名和书写要要规规 范范 个别题目还需要画出对 个别题目还需要画出对应的应的PAD 务必务必使用使用同一颜色的同一颜色的中性笔中性笔或或钢笔钢笔答题答题 不允许 不允许使使用铅笔答题用铅笔答题和和画图画图 一 一 20 分分 编写函数编写函数 int delarr int a int n 并画出对应的并画出对应的 PAD 删除删除 n 个元素的个元素的正正整型整型数组数组 a 中所有素数 中所有素数 要求 要求 1 数组 数组 a 中剩余元素保持中剩余元素保持原来次序原来次序 2 将处理后的数组输出将处理后的数组输出 3 函数值 函数值返回剩余元素个数返回剩余元素个数 4 不能定义额外的新数组 不能定义额外的新数组 二 二 20 分分 编写编写函数函数 bool cmpstr char s 判定一个给定字符串判定一个给定字符串 s 是否对是否对 称 对称字符串称 对称字符串也称为回文 是也称为回文 是满足从左到右和从右到左均相同满足从左到右和从右到左均相同的字的字 符序列 不考虑默认字符串结束符符序列 不考虑默认字符串结束符 0 例 字符串 例 字符串 aba a a 和 和 abcacba 均为对称字符串 而 均为对称字符串 而 ab 不是对称字符串不是对称字符串 表示空格 表示空格 注 本题不允许使用注 本题不允许使用 string h 头文件和相关的字符串处理函数 头文件和相关的字符串处理函数 三 三 20 分分 编写递归函数编写递归函数 float comp float a int n 计算给定 计算给定 n 个元素个元素的的 float 型型数组中所有元素的数组中所有元素的算术算术平均值 平均值 四 四 20 分分 每个学生的信息卡片包括学号 姓名和每个学生的信息卡片包括学号 姓名和年龄年龄三项 三项 定义定义存储存储学学 生生信息信息的的单向链表的结点类型单向链表的结点类型 编写函数 由键盘依次输入编写函数 由键盘依次输入 n n 1 个学生的信息 创建一个用于管理学生信息的单个学生的信息 创建一个用于管理学生信息的单向向链表链表 五 五 20 分分 编写编写函数函数 把把上题创建的上题创建的单单向向链表中删除所有链表中删除所有年龄年龄为为 z 的结点的结点 z 的值由用户从键盘输入 的值由用户从键盘输入 且且年龄为年龄为 z 的结点可能有多个的结点可能有多个 将将处理处理 后的后的单单向向链表的所有链表的所有学生学生信息存储到文件名为信息存储到文件名为 output txt 的的文本文本文件文件 中 中 第

温馨提示

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

评论

0/150

提交评论