首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

一些程序设计训练相关的题目,及其报告

后端 71.94KB 16 需要积分: 1
立即下载

资源介绍:

程序设计训练报告,这个文件中有10道题,有难有易,题目,代码,问题分析,算法设计,具体代码设计,样例输出……都有涉及,如果想要找一些相关的题目来增加一些知识点,或者对程序设计题多加了解,那么可以下载来看一下,对你都是有好处的,这里的代码都经平台检测过,是正确的,可以放心看。其中涉及的知识点都是需要掌握的。
1:数码管
一、问题描
【问题描述】
液晶数码管用七笔阿拉数字表示的十个数字,把横和竖的一 个短划
都称为一笔,即7有3笔,8有7笔等。对于十个数字一种排列,
做到两相邻数字都可以由另一个数字加上几笔或减去几笔组成,但不
能又加又减。比 →3是允许的,7→2不允许。任意输入一组
数,判断是否符合上述规则,注意,1 在右边。
【输入形式】
每行 0~9 的排字之格分-1 作为输
【输出形式】
输出 YES NO
【样例输入】
4 1 0 7 3 9 5 6 8 2
3 5 1 6 2 7 9 0 4 8
-1
【样例输出】
YES
NO
2
二、问题分析及边界条
要处理的问题就是如何判断相邻的两个数字是否可以相互转变,只
要这个问题解决了,本题就迎刃而解了。
三、算法设
这个题我选择的是先把能够相互转换的数字一一列举出来,总归不
是太麻烦,然后将它们存储进字符串 1 中,将输入的数字转换成字
符串,遍历,判断相邻的两个字符是否存在于字符串 1 中,若是则
计上,循环结束后,看计上的数是否等于 9,若是,则这 10 个数字
两两相连的都可以由另一个数字加上几笔或减去几笔组成,输出
YES
四、详细设计(从算法到程序)
1.用字符串 s 来存储可以相互转换的数字,如 0107……注意每个
字符串要以逗号分隔开。
2.在输入的时候将数字转化成字符存储进字符串 str 中,str.push_
b ack ((a+'0'))
3.for()循环遍历字符串 str,截取相邻的两个字符,
str.substr(i,2)
4.如果 s.find(ss)!=s.npos,说明这两个数字可以转化,sum++
5.循环结束后,if(sum==9),输出 YES
五、样例设计与测试
测试样例一
4 1 0 7 3 9 5 6 8 2
3 5 1 6 2 7 9 0 4 8
3
-1
样例输出
YES
NO
4 1 0 7 3 9 5 6 8 2
YES
3 5 1 6 2 7 9 0 4 8
NO
-1
Process exited after 7.651 seconds with return value 0
请按任意键继续. . .
样例测试二
3 2 8 0 9 2 3 1 8 4
0 2 8 4 7 1 9 4 3 7
-1
样例输出
NO
NO
3 2 8 0 9 2 3 1 8 4
NO
0 2 8 4 7 1 9 4 3 7
NO
-1
Process exited after 46.37 seconds with return value 0
请按任意键继续. . .
六、分析与总结
如果想不出其他方法,有时候像这个题一样先把所有情况(前提是不
复杂)列举出来也不失为一个好方法;单个数字转换成字符,+ ‘0’
即可字符截取函数 substr()的用法字符串中 find()函数的
用法,如果找到字符串,表达式为 s.find(ss)!=s.npos
4
2:最大报销
一、问题描
【问题描述】现有一笔经费可以报销一定额度的发票。允许报销的发
票类包括图书A 类)、文B 、差C ),求每
张发票的总额不得超过 1000 元,每张发票上,单项物品的价值不
超过 600 元。现请你编写程序,在给出的一堆发票中找出可以报销的、
不超过给定额度的最大报销额。
【输入形式】测试输入包含若干测试用例。每个测试用例的第 1 行包
含两个正数 Q N其中 Q 是给定的报销额度,NN<=30是发票
张数。随后是 N 行输入,每行的格式为:
m Type_1:price_1 Type_2:price_2 … Type_m:price_m
m Type_i
price_i 是第 i 项物品的种类和价值。物品种类用一个大写英文
字母表示。当 N 0 时,全部输入结束,相应的结果不要输出。
【输出形式】对每个测试用例输出 1 行,即可以报销的最大数额,
确到小数点后 2 位。
【样例输入】
200.00 3
2 A:23.50 B:100.00
1 C:650.00
3 A:59.99 A:120.00 X:10.00
5
1200.00 2
2 B:600.00 A:400.00
1 C:200.50
1200.50 3
2 B:600.00 A:400.00
1 C:200.50
1 A:100.00
100.00 0
【样例输出】
123.50
1000.00
1200.50
二、问题分析及边界条
本题主要就是对数据的处理,如果成功的得到数据,那么剩下的就只
是普通的 0-1 背包问题。
三、算法设
每张发票上的物品数为 m然后输入 m 个字符串,接下来就是对这些
剩下的就是数字字符串了,只需要将其转化成数字即可,同时对照题
目要求,将最终满足题意可以报销的发票上的钱数依次存储进 vector
0-1 *100
看作背包容量,可以报销的钱数*100(对照上面的报销额)看作每个

资源文件列表:

程序设计训练报告.zip 大约有11个文件
  1. 程序设计训练报告.docx 66.68KB
  2. 合法的括号串.cpp 545B
  3. 魔咒词典.cpp 1.14KB
  4. 打牌.cpp 1.15KB
  5. Maya历法.cpp 1020B
  6. 欧洲冠军联赛.cpp 1.09KB
  7. 最大报销额.cpp 894B
  8. 拼写检查.cpp 1.6KB
  9. 数码管.cpp 723B
  10. 相同生日.cpp 950B
  11. 电话号码.cpp 1.32KB
0评论
提交 加载更多评论
其他资源 基于前端VUE+elementUI+后端springboot的会议管理系统
基于前端VUE+elementUI+后端springboot的会议管理系统 适用于初学者的前后端分离项目,含前端代码,后端代码和mysql表结构数据 可下载即用,前端vue2,使用npm run dev可一键启动
逆向学习环境BinHunt
建议使用CFF Explorer等逆向分析工具
优化后的PSINS-DR的MATLAB程序,解决了odsimu报错的问题
优化后的PSINS-DR的MATLAB程序,解决了odsimu报错的问题
python3.8版本的Cartopy库whl文件
python3.8版本的Cartopy库whl文件,pypi上没有提供python3.8版本的二进制whl文件安装,只能编译安装,这里方便大家学习,编译好了windows下32位和64位两个版本的Cartopy库文件。免积分,免费,免vip。开源的东西无偿分享,如果因为一些原因莫名变收费收积分要vip才能下载等情况,可私信。愿学习无门槛。
实验六 存储系统(源码)
请配合本人文章:实验六 存储器实验使用,该源码为Logisim所编写,可以直接导入使用。 其中logisim源码,可以直接运行。 主要包含以下logisim电路: 1、常见触发器 2、寄存器 3、计数器 4、ROM 5、RAM 6、多片ROM、RAM组装内存 以下是源码实验内容: 1、常见触发器 触发器具有两个稳定的状态,在外加信号的触发下,可以从一个稳态翻转为另一稳态。这一新的状态在触发信号去掉后,仍然保持着,一直保留到下一次触发信号来到为止,这就是触发器的记忆作用,它可以记忆或存储两个信息:"0"或"1"。 2、寄存器 寄存器的功能是存储二进制代码,它是由具有存储功能的触发器组合起来构成的。一个触发器可以存储1位二进制代码,故存放n位二进制代码的寄存器,需用n个触发器来构成。 3、计数器 计数器可实现正向和方向计数和控制功能。 4、ROM 只读存储器(ROM)是一种在正常工作时其存储的数据固定不变,其中的数据只能读出,不能写入 5、RAM 随机存取存储器(RAM)又可称为读写存储器,它不仅可以存储大量的信息,而且在操作过程中能任意"读"或“写”某个单元信息
实验二 运算器设计(源码)
请配合本人文章:实验二 运算器设计使用,该源码为Logisim所编写,可以直接导入使用。 其中共包含八个电路logisim源码,可以直接运行,代码为本人编写: 四位串行加法器(电路) 四位并行加法器(电路) 四位二进制运算器(电路) 八位串行加法器(电路) 集线四位二进制运算器(电路) 集线器八位串行加法器(电路) 集线器四位加法器带辅助函数(电路) 集线器八位并行加法器(电路) 以下是源码实验内容: 1.请按照给定的电路图在logisim下实现4位2进制全加器仿真电路,并进行功能验证。 2.请在完成第一步的基础上,构建包括溢出、符号、归零、进位等检测功能的四位二进制运算器,具体功能如下示意图所示,请完成Logisim仿真电路搭建及功能验证。 3.利用两个四位二进制运算器,分别实现八位串行加法器、八位并行加法器。 4.用自己学号最后两位数字转化为二进制作为输入,测试两个八位加法器功能。记录各输出端结果。 适合人群:具备一定数字逻辑技术。具备一定的计算机编程基础能力,懂数字电路,可以看懂电路图。 阅读建议:此资源适合在学习的过程要结合这些内容一起来实践,并调试对应的代码。
2023全新个人免签约支付系统PHP源码 码支付系统 ThinkPHP6框架
全新个人免签约支付系统PHP源码 | 码支付系统 | thinkphp6框架 | 全开源 包含监控端 拒绝高风险的扫码登录方式,采用 APP 监听系统收款通知方案,更安全可靠! 安装环境要求:1. PHP7.4-8.0 2. MySQL5.6-5.7
2023全新个人免签约支付系统PHP源码 码支付系统 ThinkPHP6框架 2023全新个人免签约支付系统PHP源码 码支付系统 ThinkPHP6框架 2023全新个人免签约支付系统PHP源码 码支付系统 ThinkPHP6框架
2222222222222222222222222222
2222222222222222222222222222
2222222222222222222222222222 2222222222222222222222222222 2222222222222222222222222222