题目描述:
要开发一款教育类App,帮助幼儿在识数阶段做一百以内自然数[0,99]的加减法。
屏幕上会显示“1”“2”“3”“4”“5”“6”“7”“8”“9”“0”“+”“-”“=”这些按钮,用户在按了若干按钮之后,如果按了“=”,则会把按“=”之前的字符作为一个算式,计算结果。
中间结果或最后结果可以为负数。

输入描述:
输入为一个字符串,形如“23+86-6+37+24-8-13”.
输入字符串中保证:
1、不会包含除“1”“2”“3”“4”“5”“6”“7”“8”“9”“0”“+”“-”“=”之外的字符;
……(忘记了,应该是类似于输入算术合理等描述)

例子:(自己编写)
输入:1+3+32-4-17
输出:25

1.思考

  • 较为简单的题目。
  • 先用getline()将输入放置在字符串中;
  • 然后利用自己的函数Apart()函数将数字字符和运算字符“+”、“-”字符分开,分别存放在vector中;
  • 其中数字字符再通过自己的函数StringToNum()将其转换为int型数;
  • 最后进行数字之间的加减运算。

2.实现

  • 整个编程、调试和提交差不多是25min,所以题目是相对简单的。
#include <iostream>
#include <vector>
#include <string>
#include<algorithm>
#include <stdio.h>
#include <limits.h>
using namespace std;void Apart(string s, vector<string>& n, vector<string>& f)
{int pos1, pos2; while (1){pos1 = s.find("+");pos2 = s.find("-");if (pos1 > 0 && pos2 > 0){n.push_back(s.substr(0, min(pos1, pos2)));f.push_back(pos1<pos2 ? "+" : "-");s = s.substr(min(pos1, pos2) + 1);}else if (pos1 > 0 && pos2 < 0){n.push_back(s.substr(0, pos1));f.push_back("+");s = s.substr(pos1 + 1);}else if (pos1 < 0 && pos2 > 0){n.push_back(s.substr(0, pos2));f.push_back("-");s = s.substr(pos2 + 1);}else{n.push_back(s);break;}}
}void StringToNum(vector<string> n, vector<int>& num)
{string str;int sum = 0;for (auto s : n){sum = 0;int len = s.size();for (auto i : s){sum = sum*10 + (i - '0');}num.push_back(sum);}
}int main(){string input;vector<string> n, f;vector<int> num;while (getline(cin, input)){n.clear();f.clear();num.size();Apart(input, n, f);StringToNum(n, num);f.insert(f.begin(), "+");int len = num.size(), sum = 0;for (int i = 0; i < len; i++){if (f[i] == "+"){sum += num[i];}else if (f[i] == "-"){sum -= num[i];}               }cout << sum << endl;}return 0;
}

转载于:https://www.cnblogs.com/xuyy-isee/p/10567922.html

牛客网-华为-2020届校园招聘上机考试-软件类机考-1相关推荐

  1. 华为社招机考考什么_牛客网-华为-2020届校园招聘上机考试-软件类机考-3

    题目描述: Apache Hadoop YARN是一种新的Hadoop资源管理器,主要部件为resource manager和node manager.resource manager使用有限状态机维 ...

  2. 华为社招机考考什么_牛客网-华为-2020届校园招聘上机考试-软件类机考-2

    题目描述: 输入一个字符串(不含空格), 请寻找输入中包含所有蛇形字符串. 蛇形字符串定义: 1.蛇形字符串由连续字符对组成,其特点如下: 1.1 字符对定义:字符对由同一字母的大写和小写组成(前大后 ...

  3. Java学习手册:华为2020届校园招聘——软件题

    一.全量字符集与已占用字符集(AC100) 输入描述: 输入一个字符串,字符串中包含了全量字符集和已占用字符集,两个字符集用@相连.@前的字符集合为全量字符集,@后的字符集为已占用字符集合.已占用字符 ...

  4. Java算法:华为机试算法(下),华为算法Java版,牛客网华为算法73~108题

    接上篇:Java算法:华为机试算法(中),华为算法Java版,牛客网华为算法55~72题   HJ73 计算日期到天数转换 计算日期到天数转换 题目描述 根据输入的日期,计算是这一年的第几天.. 测试 ...

  5. 牛客网--华为机试在线训练10:字符个数统计

    牛客网–华为机试在线训练10:字符个数统计 题目描述 编写一个函数,计算字符串中含有的不同字符的个数.字符在ACSII码范围内(0~127).不在范围内的不作统计. 输入描述: 输入N个字符,字符在A ...

  6. 牛客网–华为机试在线训练9:提取不重复的数

    牛客网–华为机试在线训练9:提取不重复的数 题目描述 输入一个int型整数,按照从右向左的阅读顺序,返回一个不含重复数字的新的整数. 输入描述: 输入一个int型整数 输出描述: 按照从右向左的阅读顺 ...

  7. 牛客网–华为机试在线训练8:合并表记录

    牛客网–华为机试在线训练8:合并表记录 题目描述 数据表记录包含表索引和数值,请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出. 输入描述: 先输入键值对的个 ...

  8. 牛客网–华为机试在线训练7:取近似值

    牛客网–华为机试在线训练7:取近似值 题目描述 写出一个程序,接受一个正浮点数值,输出该数值的近似整数值.如果小数点后数值大于等于5,向上取整:小于5,则向下取整. 输入描述: 输入一个正浮点数值 输 ...

  9. 牛客网–华为机试在线训练6:质数因子

    牛客网–华为机试在线训练6:质数因子 题目描述 功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 ) 最后一个数后面也要有空格 详细描述: 函数接 ...

  10. 牛客网–华为机试在线训练5:进制转换

    牛客网–华为机试在线训练5:进制转换 题目描述 写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串.(多组同时输入 ) 输入描述: 输入一个十六进制的数值字符串. 输出描述: 输出该 ...

最新文章

  1. Java基础:异常机制
  2. Memcpy, blockcopy的进一步理解
  3. 解决Win10不能访问共享文件夹的问题
  4. 用maya怎么做ak47_方铁做木纹用水性木纹漆怎么样?
  5. 什么MySQL语句在存储过程体中是合法的
  6. 【Pre蓝桥杯嵌入式】【STM32】Unkown device
  7. 第二部分 设计类型:第13章 接口
  8. python入门经典100例-【python】编程语言入门经典100例--14
  9. Mule ESB File Connector轮询单个文件的实现(3)
  10. 杭州登山地图是谁开发的_浙江新添7个省级运动休闲小镇!杭州这个地方榜上有名!...
  11. 20200518 如何快速画出闭环特征方程的根轨迹
  12. 微信小程序错误码:“errcode“:40163和微信小程序-pad block corrupted 问题
  13. 如何下载VMWare虚拟机如何安装VMWare详细教程
  14. ImageMagick中的convert命令转JEPG图像到PNG
  15. 关于某某大学校园网认证系统的一些工作
  16. win10键锁定计算机,Win10中最强大的键!你所不知道的Win键
  17. 相似度系列-6:单维度方法:Evaluating Coherence in Dialogue Systems using Entailment
  18. SVG 图标格式文件去除文件默认颜色
  19. HITCS_大作业_程序人生-Hello’s P2P
  20. python七巧板绘图_记录一次canvas绘图(七巧板)

热门文章

  1. Ubuntu的常识使用了解2
  2. FATA[0000] (省略) Are you trying to connect to a TLS-enabled daemon without TLS?
  3. 【linux学习笔记五】帮助命令
  4. 浏览器的不兼容,归纳几点html编码要素
  5. [开源]在iOS上实现Android风格的控件Toast
  6. HAL中通过jni调用java方法的问题
  7. 一文解读元学习研究进展
  8. ACL 2021之后是EMNLP 2021(征稿通知)
  9. 免费报名 | DataFunCon:自然语言处理论坛
  10. 基于知识图谱和图卷积神经网络的应用和开发