CSP CCF: 201903-2 二十四点 (C++)
目录
- 题目来源
- 碎碎念
- 代码
题目来源
二十四点
碎碎念
加号、减号是同一层
乘法、除法是同一层
优先执行乘除
代码
#include <iostream>
#include <fstream>using namespace std;#define STRLENGTH 7int main() {ifstream cin("in.txt");// 数字(4个): 1- 9// 运算符(3个): 加减乘除, !!!除为整除!!!int N;cin>>N;while (N-- > 0) { // 判断 N 次,是否为四则运算string str;cin>>str;int num[4]; // 存放数字char op[3]; // 存放运算符int indexNum = 0, indexOp = 0;int index = 0;while (index < STRLENGTH) { // 遍历每一个字符if (index % 2 == 1) { // 运算符的位置//cout<<"op"<<endl;char c = str[index];if (c == '+' || c == '-') { // 是加号/ 减号, 存储到opop[indexOp++] = c;//cout<<" +/-"<<endl;}else { // 是 乘号或者除号, 当即执行int first = num[--indexNum];int second = str[++index] - '0';//cout<<index<<" * "<<str[index]<<endl;if (c == 'x') {num[indexNum++] = first * second;}else {num[indexNum++] = first / second;}//cout<<first<<" "<<second<<endl;//cout<<" "<<c<<" "<<num[indexNum - 1]<<endl;;}}else { // 存储数字//cout<<"num"<<endl;num[indexNum++] = str[index] - '0';}++index;}int j = 0;for (int i = 0; i < indexOp; ++i) { // 剩下加减号, 按顺序执行int first = num[j++];int second = num[j++];char c = op[i];if (c == '+') {num[--j] = first + second;}else {num[--j] = first - second;}}if (num[j] == 24) {cout<<"Yes"<<endl;}else {cout<<"No"<<endl;}}return 0;
}
CSP CCF: 201903-2 二十四点 (C++)相关推荐
- csp试题2:二十四点
csp试题2:二十四点 题目 分析 代码 总结 题目 问题描述 二十四点是一款著名的纸牌游戏,其游戏的目标是使用3个加减乘除运算使得4张纸牌上数字的运算结果为24. 定义每一个 ...
- 【CCF】201903-2 二十四点
这道题我每次写都都会犯一些细节性的错误,然后最后调试的时候真的是怎么都找不出来!然后跟朋友说,让朋友帮忙找,结果朋友一眼看出来!所以,发现代码哪有有错的时候,当排除完你觉得会出错的地方以后,一定要再去 ...
- 【CCF 201903-2】 二十四点(符号栈)
写在前面 本题的常规做法是使用符号栈,特殊解法是使用Python的eval函数. 算法思想 将中缀表达式转化为后缀表达式,使用符号栈和数字栈. 当新的符号op入栈时,有两种情况: ① op的优先级 & ...
- C语言 解决CCF 二十四点问题
利用 C 语言 解决 CCF题库中的二十四点问题 特别致谢:原博主程序 编译环境: IDE:DEV-C++ 语言:C语言 CCF CSP官方往年题库链接点我进入 1. 题目如下: 解题思路: 此题难点 ...
- CCF CSP201903-2二十四点
CCF CSP201903-2二十四点 题目描述 要点分析 此题是典型的中缀表达式的求解问题, 可以采用堆栈求解. 具体计算思路: 使用两个栈, num用于存储操作数, opt用于存储操作符 从左往右 ...
- CCF 201903-2 二十四点 用栈模拟简单计算器
二十四点 来源:CCF 背景 二十四点是一款著名的纸牌游戏,其游戏的目标是使用 3 个加减乘除运算使得 4张纸牌上数字的运算结果为 24. 题目 定义每一个游戏由 4 个从 1-9 的数字和 3 个四 ...
- 「csp模拟试题 201903-2」二十四点 C/C++ 100分
目录 题目 输入输出样例 题解思路 题解源码(c/c++) 题目 :二十四点 [问题描述] 定义每一个游戏由 4 个从 1-9 的数字和 3 个四则运算符组成,保证四则运算符将数字两两隔开,不存在括号 ...
- 201903-2二十四点[20201213封笔题目]没写呢
2020.12.13 csp今天就考试完了,我用了三天的时间,倒着刷完了所有的第一题,正着刷第二题,就到了这里.暂时结束吧. 哎,发现现在的考试越来越难了. 今天的考试连第二个体都过不了. 我死了. ...
- CCF-CSP 201903-2 二十四点(python实现)
题源来自---CCF计算机职业资格认证官网,点击报名入口,可进行模拟考试进行练习.代码在最后. 代码 应用eval函数 eval:将传入的字符串当成有效的表达式来求值并返回计算结果. n=int(in ...
最新文章
- MegEngine 框架设计
- 提高 Java 代码质量
- linux 命令读db文件格式,使用linux的db_load命令生成db数据库
- CF1202 - E. You Are Given Some Strings...(AC自动机)
- html设置标签上下居中,html 标签内部元素上下居中
- “约见”面试官系列之常见面试题之第五十八篇之join和split(建议收藏)
- OpenSessionInViewFilter 对 lazy 加载 的配置及作用
- http://syy7.com/a/33.php,CVE-2020-7062
- (十五) 构建springmvc+mybatis+dubbo分布式平台-window安装dubbo管控台
- linux perl 执行java,如何从Java调用Perl?
- session过期时间
- 入门级CC(Smart3D)照片建模
- GPT分区和MBR分区切换
- 人工智能历史回眸:达特茅斯会议
- 简单的纸牌游戏——小猫钓鱼(详细解释实现)
- 也谈分库分表在实际应用的实践
- 高效文件管理-Git管理个人文件指南
- Windows cmd命令(五)find和findstr指令
- STM32单片机硬件I2C读取AHT10温湿度传感器数据
- Unity 蓝湖 关于UI工作流优化的思考(二)
热门文章
- 数据库备份和还原bak文件
- CStdioFile读写中文乱码
- Unity3D之第三人称视角相机跟随
- COcos2d-X 中文API
- 555555555555555555555555555555555555555555555。。。。。。。。。。。。。。。。。。
- .NET WebApi调用微信接口Https请求工具类
- jmeter参数化不起效果
- [转]netstat输出内容详解
- TOJ 3471.Happy XiaoXiao Guo
- 【教程】Excel控件Spire.XLS 教程:在C#,VB.NET中添加Excel边框