c实验编程题.pdf

上传人:zh****71 文档编号:126718869 上传时间:2020-03-27 格式:PDF 页数:10 大小:28.88KB
返回 下载 相关 举报
c实验编程题.pdf_第1页
第1页 / 共10页
c实验编程题.pdf_第2页
第2页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《c实验编程题.pdf》由会员分享,可在线阅读,更多相关《c实验编程题.pdf(10页珍藏版)》请在金锄头文库上搜索。

1、程序设计基础实验基本要求 1 了解命令行方式编译c 程序的方法和基本步骤 2 掌握如何使用dev c 进行程序调试 断点 单步调试 变量监视 3 下述题目中结构化编程部分程序要求至少能独立完成其中至少12 个 4 面向对象编程部分要求必须完成第23 题 第一次实验内容 1 分解一个五位数 依次输出其从高位到低位上的每个数字 提示 合理的利用 和 Sample input 12345 Expect output 万位 1 千位 2 百位 3 十位 4 个位 5 2 读取一个 1 到 9 的奇数 指定菱形中的行数 并输出大小合适的菱形 要求利用循环的嵌套来实现 Sample input 5 Exp

2、ect output 3 元音字母计数程序 要求记录每个元音字母和辅音字母 不分大小写 在输入的文本中出 现的次数 不停输入直到输入 表示终止 程序逻辑如下 按顺序读取每个字符直到没有字符为止 把每个字符同元音字母集合作比较 如果字符同某个元音字母匹配则该元音计数加1 否则辅音计数加1 显示结果 Sample input a student of HNU Expect output Number of vowel a 1 Number of vowel e 1 Number of vowel i 0 Number of vowel o 1 Number of vowel u 2 Number

3、of vowel u 2 Number of consonants 8 第二次实验内容 4 读取一个 0 到 999 的整数 然后进行翻转输出 要求 设计函数实现 要支持宽度的显示控制 setw 函数的使用 前导 0 用 代替 Sample input 540 Expect output 45 5 自定义指数函数 要求 函数原型为double pow int x int y 要考虑 y 0 y 0 x 0 等特殊情况 提示 此题考查的是函数重载 Sample input 2 2 Expect output 0 25 Sample input 2 0 Expect output 1 Sample

4、 input 0 2 Expect output x 不允许为0 第三次实验内容 范例 设有一个整型数组 另输入一个整数 编程查找这个整数是否在数组中出现过 若出现 则输出第一次出现的位置 否则 输出no found array 10 1 2 3 4 5 6 7 8 7 0 Sample input 7 Expect output 第一次出现的下标为6 Sample input 9 Expect output 没找到 include using namespace std int main int i s a 20 for i 0 i 20 i a i rand 100 产生一个 100 以内

5、的随机数 cout s for i 0 i 20 i if a i s cout 第一次出现的下标为 i break if i 20 cout no found n for i 0 i 20 i cout a i cout endl system pause return 0 7 设有一个已排好序的数组 今输入一个数 要求按原来排序的规律将它插入到数组中 array 1 3 5 7 9 11 13 15 17 19 Sample input 10 Expect output 1 3 5 7 9 10 11 13 15 17 19 8 编一程序 在一个二维数组中 查找第一次出现的负数 并输出该数

6、及其所在的行 列号 Sample input a 3 4 1 3 5 7 9 11 13 15 17 19 21 23 Expect output 第一个负数 15 位置 2 行 4 列 9 10 两题任选一个完成 9 在选美大奖赛的半决赛现场 有一批选手参加比赛 比赛的规则是最后得分越高名次越低 比赛结束时 要在现场按照选手的出场顺序宣布最后得分和最后名次 获得相同分数的选手具 有相同的名次 名次连续编号 不用考虑同名次的选手人数 如 选手序号 1 2 3 4 5 6 7 选手得分 5 3 4 7 3 5 6 宣布名次 3 5 4 1 5 3 2 请编程帮助大奖赛组委会完成半决赛的评分排名工

7、作 提示 将数组中的整数从小到大进行连续编号 相同的整数要具有相同的编号 不改变数组中 元素的顺序 可以引用一个专门存放名次的数组 思考 如果考虑同名次选手的人数 则名次变为 3 6 5 1 6 3 2 程序应该如何修改 10 从扑克牌中随机抽5 张牌 判断是不是一个顺子 即这5 张牌是不是连续的 2 10 为数字 本身 A 为 1 J 为 11 Q 为 12 K 为 13 而大小王可以看成任意数字 提示 可以把 5 张牌看成由5 个数字组成的数组 大小王不妨当成0 接下来我们来分析怎样判断5 个数字是不是连续的 最直观的是 我们把数组排序 但值 得注意的是 由于0 可以当成任意数字 我们可以

8、用0 去补满数组中的空缺 也就是排序之后 的数组不是连续的 即相邻的两个数字相隔若干个数字 但如果我们有足够的0 可以补满这两 个数字的空缺 这个数组实际上还是连续的 举个例子 数组排序之后为 0 1 3 4 5 在 1 和 3 之间空缺了一个2 刚好我们有一个0 也就是我们可以它当成2 去填补这个空缺 于是我们需要做三件事情 把数组排序 统计数组中0 的个数 统计排序之后的数组相邻 数字之间的空缺总数 如果空缺的总数小于或者等于0 的个数 那么这个数组就是连续的 反 之则不连续 最后 我们还需要注意的是 如果数组中的非0 数字重复出现 则该数组不是连 续的 换成扑克牌的描述方式 就是如果一副

9、牌里含有对子 则不可能是顺子 第四次实验内容 范例 编写函数 对传递进来的两个整型量计算它们的和与积之后 通过参数返回 include include using namespace std void compute int m int n int sum int p void main int x y sum product cout enter 2 integers x y compute x y cout x x y y sum sum product product void compute int m int n int sum int p sum m n p m n 范例 编写一个

10、程序 将用户输入的字符串中的所有数字提取出来 include using namespace std int main char string1 81 digit 81 char ps int i 0 cout 0 i ps digit i 0 cout string string1 digit digit system pause return 0 11 输入一个二维数组a 6 6 设计一个函数 用指向一维数组的指针变量和二维数组的行 数作为函数的参数 求平均值 最大值和最小值 并输出 12 编写一个程序 以 731 8882 1970 的形式输入电话号码字符串 程序应用函数strtok 取

11、得 区号标记 电话号码的前4 位作为一个标记 后4 位作为一个标记 电话号码的8 位数被连接 成一个字符串 程序将区号字符串变为int 类型 将电话号码字符串变成long 类型 并打印电 话号码和区号 13 读 10 个整数到vector 对象 计算首尾配对元素的和并输出 输出结果如下 Sample input 1 0 2 3 4 5 6 7 8 9 Expect output 0 9 和为 10 1 8 和为 8 2 7 和为 9 3 6 和为 9 4 5 和为 9 第五次实验内容 14 修改 Time 类 并编写测试程序 验证新加入的功能 1 用 个 tick 成员函数将Time 对象中存

12、放的时间递增1 秒 要保证测试下列情况 a 递增到下一分钟 b 递增到下一小时 c 递增到下一天 即 11 59 59PM 到 12 00 00AM 2 修改 set 函数 在Time 类对象的数据成员要设置为无效值时返回相应错误值 15 修改 Date 类 并编写测试程序 验证新加入的功能 1 对数据成员month day 和 year 的的初始化值进行错误检查 2 提供成员函数nextDay 将日期递增1 天 要保证测试下列情况 a 递增到下一月 b 递增到下一年 16 将练习1 修改的 Time 类和练习 2 修改的 Date 类合并成 DateAndTime 类 修改tick 函数 在

13、时间递增到下一天时调用nextDay 函数 修改函数printStandard 和 printMilitary 不仅输出 时间 也输出日期 编写一个测试程序 测试新类DateAndTime 特别要测试时间递增到下一 天时的情况 第六次实验内容 17 实现有理数类 该类要求实现有理数的四则运算和输入输出操作符的重载 18 将课堂范例中的Point Circle Cylinder 程序改写为Point Square Cube 程序 用两种方 法 一种用继承 一种用复合 19 几何形体的派生关系如下 几何图形geometric shape 矩形rectangle 圆circle 三角形 triang

14、le 长方体box 圆柱cylinder 圆锥cone 三棱柱 t prism 三棱锥 t pyramid 定义该层次结构 使得geometric Shape 成为一个包含接口 供层次结构中的类使用 的抽象基类 1 用虚函数print 输出每个类的类型和维数 2 设计虚函数perimeter area 和 volume 计算各个几何形体的周长 面积和体积 要求 实现运行时的多态性 3 编写一个测试程序测试类geometric Shape 的层次结构 附加实验内容 选作 1 用一个3 4 的 studentGrades数组表示3 名学生的4 门功课成绩 函数maximun 表示所有 学生在本学期

15、的最好成绩 函数minmum 表示所有学生在本学期的最差成绩 函数average 表示每位同学的平均成绩 函数printArray 则采取一种简洁的表格形式 输出所有学生的所有 成绩 1 请编写相应的函数 原型如下 int maxmum int 4 int 第二个参数为学生个数 第三个参数为功课数 int minmum int 4 int double average int 4 int void printArray int 4 int int 2 使用函数指针数组改写以上程序 使用菜单驱动界面 Enter a choice 0 打印 1 最好成绩 2 最差成绩 3 平均分 4 退出 提示

16、使用函数指针数组的限制是所有指针必须是同一类型 指针必须指向接收相同类型参数 和返回相同类型数值的函数 所以以上4 个函数可以修改为接收相同类型的参数且不返回任何 内容 2 房屋售价自动计算程序 应用背景 888 房地产委托开发 房屋价格自动计算软件 来替代以前的人工计算 该公司计算一套房屋市 场销售价格的依据如下 1 基本价格为2800 元 平米 2 每增加1 楼 单价上涨50 元 平米 3 朝南的户型 单价上涨30 元 平米 设计要求 1 能够方便地将房屋数据录入程序 并得出销售价格 2 能够对房屋价格情况进行查询 3 能够将房屋数据进行长期保存 3 图书管理系统 设计要求 有文件 novels txt 内容结构如下 小说记录文件 4 国产小说 作者 金庸 书名 雪山飞狐 等级 价格 36 50 国产小说 作者 古龙 书名 绝代双骄 等级 价格 40 00 外国小说 作者 David Smith 书名 WHY NOT 等级 价格 32 00 语言 English 获得诺贝尔文学奖外国小说 作者 Charles White 书名 YOU WILL NOT GO ALONG 等级 价格

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 其它文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号