华为机试 - 题目4 - 表达式求值
来源:互联网 发布:西安儿童编程培训机构 编辑:程序博客网 时间:2024/06/06 09:19
/** * 2014年华为机试 第三题 * 三、题目描述(50分): 通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。输入字符串的格式为:“操作数1 运算符 操作数2”,“操作数”与“运算符”之间以一个空格隔开。补充说明:1、操作数为正整数,不需要考虑计算结果溢出的情况。2、若输入算式格式错误,输出结果为“0”。要求实现函数: void arithmetic(const char *pInputStr, long lInputLen, char *pOutputStr);【输入】 pInputStr: 输入字符串 lInputLen: 输入字符串长度 【输出】 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长; 【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出示例 输入:“4 + 7” 输出:“11”输入:“4 - 7” 输出:“-3”输入:“9 ++ 7” 输出:“0” 注:格式错误 * @author snail * 耗时: 13:49 - 14:15 ,共26分钟。 * 耗时原因:没有区分开 Scanner reader = new Scanner(System.in); * reader.next() 与 nextLine() ,next()是取输入的第一个空格前的东西, * nextLine()这里取得是输入的一行信息 */public class Test201403 {private static String calculate(String str){String[] args = str.split(" ");int a = 0;int b = 0;if (args.length != 3) {return "格式错误,必须是2个操作数和1个运算符,您输入的运算式子长度是"+args.length;}try {a = Integer.parseInt(args[0]);b = Integer.parseInt(args[2]);} catch (NumberFormatException e) {return "格式错误,操作数必须是整数,而不能是其他字符";}int result = 0;String c = args[1];if (c.equals("+")) {result = a+b;return String.valueOf(result);}else if (c.equals("-")) {result = a-b;return String.valueOf(result);}else {return "运算符格式错误,您所输入的运算符是"+c;}}public static void main(String args[]){Scanner reader = new Scanner(System.in);System.out.println("请输入100以内正整数的加、减运算式,回车结束输入");String inputString = reader.nextLine();System.out.println("您所输入的是:"+inputString);System.out.println("运算结果是:"+calculate(inputString));}}
0 0
- 华为机试 - 题目4 - 表达式求值
- 华为机试题之表达式求值
- 华为OJ表达式求值
- 数据结构上机题目4--后缀表达式求值
- 华为OJ(表达式求值)
- 【华为OJ】【096-表达式求值】
- (华为机试)双向链表实现字符串条件表达式的求值
- nyoj 题目305 表达式求值
- nyoj 题目35 表达式求值
- 华为机试 题目
- 华为OJ——表达式求值
- 南阳理工OJ_题目305 表达式求值
- 南阳oj 表达式求值 题目305 数据结构
- 表达式求值难度4
- 南阳 oj 表达式求值 题目35 数据结构 NYO题目链接
- 华为机试:表达式转换
- 2013 华为招聘上机第三题 表达式求值
- 华为编程题之七:条件表达式求值
- ubuntu 开发环境安装
- android 源码和兼容包
- 华为机试 题目3 - 字符串压缩
- oracle 通配符 转义
- 迭代式开发
- 华为机试 - 题目4 - 表达式求值
- 云服务器实战:aliyun服务器环境配置与管理
- IplImage与BMP相互转换
- 独白
- Leetcode_combination-sum
- MPICH2
- 初学extjs
- java多态示例:
- error C2440: “static_cast”: 无法从“void (__thiscall CChatDlg::* )(WPARAM,LPARAM)”转换为“LRESULT (__thiscal