【落谷1957】口算练习题题解
这个题有几个坑我全踩了:
1.首先如果检测每一行初始的第一个元素是不是字符的时候一定要创造一个临时变量储存前面代表运算的字符(一定注意是前面的不是前一次的)
2.零和负数时求长度的函数会有点不一样本身就带一位
好像C语言和c++有个函数叫sscanf可以比这个更简单,不过不太明白它的用法,欢迎大佬来教我

代码:

#include "iostream"
#include "string"
#include "cstdlib"
using namespace std;
int len(int a) {int ans;if (a <= 0)//0和负数会多一位ans = 1;if (a > 0)ans = 0;while (a) {a /= 10;ans++;}return ans;
}
int main() {int x;int a = 0, b = 0;string s;string str=" ";cin >> x;for (int i = 0; i < x; i++) {if(str[0]=='a'||str[0]=='c'||str[0]=='b')s = str;cin >> str;if (str[0] == 'a' || str[0] == 'c' || str[0] == 'b') {if (str == "a") {cin >> a >> b;cout << a << '+' << b << '=' << a + b << endl;cout << len(a) + len(b) + len(a + b) + 2 << endl;}else if (str == "c") {cin >> a >> b;cout << a << '*' << b << '=' << a * b << endl;cout << len(a) + len(b) + len(a * b) + 2 << endl;}else if (str == "b") {cin >> a >> b;cout << a << '-' << b << '=' << a - b << endl;cout << len(a) + len(b) + len(a - b) + 2 << endl;}}else {a = atoi(str.c_str());if (s == "a") {cin >> b;cout << a << '+' << b << '=' << a + b << endl;cout << len(a) + len(b) + len(a + b) + 2 << endl;}else if (s == "c") {cin >> b;cout << a << '*' << b << '=' << a * b << endl;cout << len(a) + len(b) + len(a * b) + 2 << endl;}else if (s == "b") {cin >> b;cout << a << '-' << b << '=' << a - b << endl;cout << len(a) + len(b) + len(a - b) + 2 << endl;}}}
}

【落谷1957】口算练习题题解相关推荐

  1. 洛谷P1957 口算练习题

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

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

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

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

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

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

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

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

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

  6. P1957 口算练习题(模拟)

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

  7. <Java><字符串>口算练习题

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

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

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

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

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

  10. 口算练习题(洛谷P1957题题解,Java语言描述)

    题目要求 P1957题目链接 分析 对指令做个存储,组合成串之后,获取一下长度,就完了. AC代码(Java语言描述) import java.util.Scanner;public class Ma ...

最新文章

  1. 机器学习虽好,也要看什么场合!
  2. 美团应届生年薪达 35 万?究竟什么导致薪资倒挂?
  3. linux shell map dict 字典数组
  4. 重叠IO模型-异步IO
  5. dmo Java_java DMO及增删改查代码的自动生成
  6. Mybatis plus 整合springboot 出现的Invalid bound statement (not found)问题
  7. (7)Linux进程调度-O(1)调度算法
  8. [转]Android应用的自动更新
  9. 用 ASTERISK 搭建自己的免费 VOIP 服务器
  10. 人生的意义,在于不断地超越自己
  11. 网络 打印机怎么连接?
  12. dubbo的工作原理
  13. springboot添加多数据源并实现事务一致性
  14. win7安装cad2006启动后提示计算机中丢失ac1st16.dll
  15. python新疆自驾旅游推荐系统毕业设计源码111042
  16. 蓝凌OA SSRF+JNDI远程命令执行
  17. Google学术打不开,简单方法汇总
  18. [DOS教程----读书笔记]命令全集
  19. 卡罗琳娜·海莱拉(Carolina Herrera)
  20. python和php哪个容易学

热门文章

  1. matlab dsolve函数构造微分方程
  2. 让机器人更安全——(5.总结与展望)
  3. 正规手游代理该怎么选?
  4. Qt进阶-汉字转拼音/全拼
  5. 解决win10笔记本电脑无法睡眠只是黑屏问题的方法
  6. 怎样花两年时间去面试一个人
  7. 关于机器人方面的sci论文_机器人期刊_SCI
  8. mr图像翻转的原因_前置摄像头水平翻转问题
  9. 基于python、百度ocr、multiprocessing多进程、selenium网页自动化 、pyqt5界面弹出,实现发票的识别与对学校财务网站的脚本自动化上传操作的项目总结
  10. arccos用计算机,arccos0(arccos在线计算器)