P1957 口算练习题(模拟)
1957
题目描述
王老师正在教简单算术运算。细心的王老师收集了i道学生经常做错的口算题,并且想整理编写成一份练习。 编排这些题目是一件繁琐的事情,为此他想用计算机程序来提高工作效率。王老师希望尽量减少输入的工作量,比如5+8的算式最好只要输入5和8,输出的结果要尽量详细以方便后期排版的使用,比如对于上述输入进行处理后输出 5+8=13 以及该算式的总长度6。王老师把这个光荣的任务交给你,请你帮他编程实现以上功能。
输入格式
第一行为数值i
接着的i行为需要输入的算式,每行可能有三个数据或两个数据。
若该行为三个数据则第一个数据表示运算类型,a表示加法运算,b表示减法运算,c表示乘法运算,接着的两个数据表示参加运算的运算数。
若该行为两个数据,则表示本题的运算类型与上一题的运算类型相同,而这两个数据为运算数。
输出格式
输出2*i行。对于每个输入的算式,输出完整的运算式及结果,第二行输出该运算式的总长度
#include <iostream>
#include <queue>
#include <stack>
#include <cstring>
#include <cstdio>
#include <string>
#include <algorithm>
using namespace std;
int len(int num)
{int cnt = 0;if (num > 0){while (num){cnt++;num /= 10;}}else if (num == 0)cnt = 1;else{cnt++;num = -num;while (num){cnt++;num /= 10;}}return cnt;
}
int main()
{int n;int a, b;cin >> n;int x;string s;char l;for (int i = 0; i < n; i++){cin >> s;switch (s[0]){case 'a':cin >> a >> b;printf("%d+%d=%d\n", a, b, a + b);l = s[0];x = len(a + b) + 2;break;case 'b':cin >> a >> b;printf("%d-%d=%d\n", a, b, a - b);l = s[0];x = len(a - b) + 2;break;case 'c':cin >> a >> b;printf("%d*%d=%d\n", a, b, a * b);l = s[0];x = len(a * b) + 2;break;default:cin >> b;a = 0;for (int i = 0; i < s.size(); i++){a = a * 10 + s[i] - '0';}switch (l){case 'a':printf("%d+%d=%d\n", a, b, a + b);x = len(a + b) + 2;break;case 'b':printf("%d-%d=%d\n", a, b, a - b);x = len(a - b) + 2;break;case 'c':printf("%d*%d=%d\n", a, b, a * b);x = len(a * b) + 2;break;default:break;}break;}x = len(a) + len(b) + x;printf("%d\n", x);}return 0;
}
P1957 口算练习题(模拟)相关推荐
- 洛谷 P1957 口算练习题(字符串操作)
菜鸟生成记(56) P1957 口算练习题 快乐的水题;暴力模拟 #include<iostream> #include<stdio.h>//使用printf,scanf,一定 ...
- 洛谷P1957 口算练习题
P1957 口算练习题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 我自己的代码 比较长 #include <iostream> #include <cstri ...
- 【洛谷】P1957 口算练习题【C++】
口算练习题 题目描述 王老师正在教简单算术运算.细心的王老师收集了i道学生经常做错的口算题,并且想整理编写成一份练习. 编排这些题目是一件繁琐的事情,为此他想用计算机程序来提高工作效率.王老师希望尽量 ...
- 口算练习题(模拟算法)
题目描述 王老师正在教简单算术运算.细心的王老师收集了i道学生经常做错的口算题,并且想整理编写成一份练习. 编排这些题目是一件繁琐的事情,为此他想用计算机程序来提高工作效率.王老师希望尽量减少输入的工 ...
- P1957 口算练习题(字符串与int类型的转换)
题目描述 王老师正在教简单算术运算.细心的王老师收集了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 ...
最新文章
- 开发日记-20190913 关键词 汇编语言王爽版 第一章
- Java中的Set集合类
- 论文解析:人脸检测中级联卷积神经网络的联合训练
- COMCMS_CORE 起步篇,如何运行和部署
- php接口 含义,php晋级必备:一文读懂php接口特点和使用!
- 5G(3)---5G NR协议栈及功能2 - MAC RLC PDCP SDAP
- oracle的rac环境,RAC环境数据库的备份
- 华为lab-rs-v1-2.3_OSPF基础
- Java 中与()短路与()以及 或(|)短路或(||)的关系
- Canny边缘检测 原理python代码
- photoshop--抽出滤镜
- Latex中使用thebibliography环境时去除“参考文献”标题方法
- 苹果应用审核注意事项
- SSO(单点登录)技术漫谈
- ui设计培训机构内课程包括哪些板块|优漫动游
- 华子机试 计算足球赛比分 java
- Chrome扩展学习Demo(三):将浏览器地址栏的网址转换为二维码
- 微信开放平台分账功能实战(Java版)
- elementUI输入框去除空格
- 电脑可以正常上网但是无法下载东西的问题。