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 口算练习题(模拟)相关推荐

  1. 洛谷 P1957 口算练习题(字符串操作)

    菜鸟生成记(56) P1957 口算练习题 快乐的水题;暴力模拟 #include<iostream> #include<stdio.h>//使用printf,scanf,一定 ...

  2. 洛谷P1957 口算练习题

    P1957 口算练习题 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 我自己的代码 比较长 #include <iostream> #include <cstri ...

  3. 【洛谷】P1957 口算练习题【C++】

    口算练习题 题目描述 王老师正在教简单算术运算.细心的王老师收集了i道学生经常做错的口算题,并且想整理编写成一份练习. 编排这些题目是一件繁琐的事情,为此他想用计算机程序来提高工作效率.王老师希望尽量 ...

  4. 口算练习题(模拟算法)

    题目描述 王老师正在教简单算术运算.细心的王老师收集了i道学生经常做错的口算题,并且想整理编写成一份练习. 编排这些题目是一件繁琐的事情,为此他想用计算机程序来提高工作效率.王老师希望尽量减少输入的工 ...

  5. P1957 口算练习题(字符串与int类型的转换)

    题目描述 王老师正在教简单算术运算.细心的王老师收集了i道学生经常做错的口算题,并且想整理编写成一份练习. 编排这些题目是一件繁琐的事情,为此他想用计算机程序来提高工作效率.王老师希望尽量减少输入的工 ...

  6. P1957 口算练习题 Java

    这道题还是比较简单的,只要会将字符串转整型整型转字符串就可以了(相关链接:关于字符串和整型的转换),虽然代码比较长,但是是很简单的,耐心看看. import java.util.Scanner; pu ...

  7. P1957 口算练习题(输入情况特殊)

    思路 这个题目的难点就是如何输入,换言之就是判断输入的是否为字符及如何转换. 1.当输入的是字母时,则继续输入两个数. 2.当不是字母时,则要将输入的转换成整型,这里用到了sscanf.sscanf( ...

  8. 两种方法解决口算练习题

    文章目录 口算练习题 题目描述 输入格式 输出格式 样例 #1 样例输入 #1 样例输出 #1 提示 题解: 大佬的代码: 口算练习题 题目描述 王老师正在教简单算术运算.细心的王老师收集了i道学生经 ...

  9. Python实现100以内的加减法口算练习题

    小朋友口算练习题,100以内的加减法运算: 程式要求如下 1,100道100以内的加减法计算题 2,两数相加,和小于等于100 3,被减数必须大于减数 4,前面80道计算题的格式为A+B= 或者C-D ...

最新文章

  1. 开发日记-20190913 关键词 汇编语言王爽版 第一章
  2. Java中的Set集合类
  3. 论文解析:人脸检测中级联卷积神经网络的联合训练
  4. COMCMS_CORE 起步篇,如何运行和部署
  5. php接口 含义,php晋级必备:一文读懂php接口特点和使用!
  6. 5G(3)---5G NR协议栈及功能2 - MAC RLC PDCP SDAP
  7. oracle的rac环境,RAC环境数据库的备份
  8. 华为lab-rs-v1-2.3_OSPF基础
  9. Java 中与()短路与()以及 或(|)短路或(||)的关系
  10. Canny边缘检测 原理python代码
  11. photoshop--抽出滤镜
  12. Latex中使用thebibliography环境时去除“参考文献”标题方法
  13. 苹果应用审核注意事项
  14. SSO(单点登录)技术漫谈
  15. ui设计培训机构内课程包括哪些板块|优漫动游
  16. 华子机试 计算足球赛比分 java
  17. Chrome扩展学习Demo(三):将浏览器地址栏的网址转换为二维码
  18. 微信开放平台分账功能实战(Java版)
  19. elementUI输入框去除空格
  20. 电脑可以正常上网但是无法下载东西的问题。

热门文章

  1. 百度地图实现多点标记,自动调整缩放等级并在中心位置
  2. python需要什么英语基础_0基础学python有多难
  3. 老年人骨质疏松要注意的八个注意事项!
  4. jmeter mysql查询结果提取_jmeter5实现mysql数据库值提取--单sql提取
  5. jmeter使用之文件读取
  6. JAVA日期转换工具类
  7. NetData 入门
  8. 冰雪覆盖不了的足迹,人间自是有情在
  9. 华北科技学院计算机专业录取分数线,华北科技学院2018年在河北省各专业录取分数线...
  10. IO多路复用之select总结