P1957 口算练习题[c++版]
题目链接
https://www.luogu.com.cn/problem/P1957
传送门
题目描述
王老师正在教简单算术运算。细心的王老师收集了i道学生经常做错的口算题,并且想整理编写成一份练习。 编排这些题目是一件繁琐的事情,为此他想用计算机程序来提高工作效率。王老师希望尽量减少输入的工作量,比如5+8的算式最好只要输入5和8,输出的结果要尽量详细以方便后期排版的使用,比如对于上述输入进行处理后输出 5+8=13 以及该算式的总长度6。王老师把这个光荣的任务交给你,请你帮他编程实现以上功能。
输入格式
第一行为数值i
接着的i行为需要输入的算式,每行可能有三个数据或两个数据。
若该行为三个数据则第一个数据表示运算类型,a表示加法运算,b表示减法运算,c表示乘法运算,接着的两个数据表示参加运算的运算数。
若该行为两个数据,则表示本题的运算类型与上一题的运算类型相同,而这两个数据为运算数。
输出格式
输出2*i行。对于每个输入的算式,输出完整的运算式及结果,第二行输出该运算式的总长度
输入输出样例
输入 #1
4
a 64 46
275 125
c 11 99
b 46 64
输出 #1
64+46=110
9
275+125=400
11
11*99=1089
10
46-64=-18
9
说明
数据规模与约定
0<i<=50
运算数为非负整数且小于10000
对于50%的数据,输入的算式都有三个数据,第一个算式一定有三个数据。
cin的使用方法:(灵感来自c++ primer plus 第188最下方) 如果你定义了一个int型,那么当cin输入表达式的值是就会检测输入的是不是数字。如果程序发现用户输入了错误内容时,程序就会锁住cin,所以你就需要重置cin来接受新的输入。
采用sstream头文件
中定义的字符串流对象来实现转换。
代码
#include<iostream>
#include<sstream>
#include<cstdio>
using namespace std;
struct srt{string str;int len;
};
int main(){int n;cin >> n;int a,b;char ch;srt list[n];for(int i = 0;i < n;i++){if(!(cin >> a)){cin.clear();cin >> ch >> a;}cin >> b;switch(ch){case 'a':{stringstream st;st << a <<'+'<< b <<'='<< a + b;int len = st.str().length();list[i].str = st.str();list[i].len = len;break;}case 'b':{stringstream st;st << a <<'-'<< b <<'='<< a - b;int len = st.str().length();list[i].str = st.str();list[i].len = len;break;}case 'c':{stringstream st;st << a <<'*'<< b <<'='<< a * b;int len = st.str().length();list[i].str = st.str();list[i].len = len;break;}}}for(int i = 0;i < n;i++){cout << list[i].str << endl << list[i].len << endl;}return 0;
}
P1957 口算练习题[c++版]相关推荐
- 洛谷P1957 口算练习题
P1957 口算练习题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 我自己的代码 比较长 #include <iostream> #include <cstri ...
- 洛谷 P1957 口算练习题(字符串操作)
菜鸟生成记(56) P1957 口算练习题 快乐的水题;暴力模拟 #include<iostream> #include<stdio.h>//使用printf,scanf,一定 ...
- 【洛谷】P1957 口算练习题【C++】
口算练习题 题目描述 王老师正在教简单算术运算.细心的王老师收集了i道学生经常做错的口算题,并且想整理编写成一份练习. 编排这些题目是一件繁琐的事情,为此他想用计算机程序来提高工作效率.王老师希望尽量 ...
- P1957 口算练习题(字符串与int类型的转换)
题目描述 王老师正在教简单算术运算.细心的王老师收集了i道学生经常做错的口算题,并且想整理编写成一份练习. 编排这些题目是一件繁琐的事情,为此他想用计算机程序来提高工作效率.王老师希望尽量减少输入的工 ...
- P1957 口算练习题(模拟)
1957 题目描述 王老师正在教简单算术运算.细心的王老师收集了i道学生经常做错的口算题,并且想整理编写成一份练习. 编排这些题目是一件繁琐的事情,为此他想用计算机程序来提高工作效率.王老师希望尽量减 ...
- P1957 口算练习题 Java
这道题还是比较简单的,只要会将字符串转整型整型转字符串就可以了(相关链接:关于字符串和整型的转换),虽然代码比较长,但是是很简单的,耐心看看. import java.util.Scanner; pu ...
- P1957 口算练习题(输入情况特殊)
思路 这个题目的难点就是如何输入,换言之就是判断输入的是否为字符及如何转换. 1.当输入的是字母时,则继续输入两个数. 2.当不是字母时,则要将输入的转换成整型,这里用到了sscanf.sscanf( ...
- 两种方法解决口算练习题
文章目录 口算练习题 题目描述 输入格式 输出格式 样例 #1 样例输入 #1 样例输出 #1 提示 题解: 大佬的代码: 口算练习题 题目描述 王老师正在教简单算术运算.细心的王老师收集了i道学生经 ...
- Python实现100以内的加减法口算练习题
小朋友口算练习题,100以内的加减法运算: 程式要求如下 1,100道100以内的加减法计算题 2,两数相加,和小于等于100 3,被减数必须大于减数 4,前面80道计算题的格式为A+B= 或者C-D ...
- <Java><字符串>口算练习题
题目描述 王老师正在教简单算术运算.细心的王老师收集了i道学生经常做错的口算题,并且想整理编写成一份练习. 编排这些题目是一件繁琐的事情,为此他想用计算机程序来提高工作效率.王老师希望尽量减少输入的工 ...
最新文章
- bitwarden自建服务器,BitWarden
- python浅拷贝 深拷贝
- python需要php吗-python可以代替php吗
- 用总计金额求本体额与消费税额FM,所引起的金额误差问题
- python中的多线程求值串行和并行_python多线程和多进程——python并行编程实验
- Python:使用threading模块实现多线程编程三[threading.Thread类的重要函数]
- 也谈创业企业CEO该拿多少工资
- 使用docker方式安装etcd集群,带TLS证书
- 第二次冲刺阶段第三天
- 变量的数据类型和类型转换(二)
- 【北大知识图谱】知识图谱的关键技术及其智能应用
- 如何使用 Mac 在 iPhone 上录制 FaceTime 通话?
- Servlet(1) Servlet容器和Servlet
- java多线程volatile_java多线程——volatile
- php添加gd扩展,php安装gd扩展的方法
- Windows 11 LTSC 数字激活方法/HEU KMS Activator 数字激活/LTSC公key激活
- 01、3dB双分支定向耦合器
- Android设备的电池续航时间优化(Optimizing Battery Life)——(一)监听电池电量和电池的充电状态
- 不藏了,我的一千行 MySQL 学习笔记(2万字长文)
- 青岛大学计算机小姐姐,青岛大学举牌校花一夜爆红,评论区留下脏话:见不得别人好是病!...
热门文章
- 微机实验——十字路口交通灯控制器
- vtp服务器作用,VTP
- WinRAR密码破解
- dns服务器一些网站无法解析,dns解析出错,导致有些网站解析出错,重启DNS服务器就正常了。 - Exchange论坛 - 51CTO技术论坛_中国领先的IT技术社区...
- Tempo超进化,提效降本好帮手,工时管理小当家 Timewise
- 自学Python+Selenium自动化测试
- 阿里用回mysql_回mysql事务
- SPSS中的比较均值—均值分析过程
- 医药行业的销售数据如何分析?
- 基于PCL的QT开发(两个月内更新完)