字符串加减计算
来源:互联网 发布:为什么数据可以恢复 编辑:程序博客网 时间:2024/06/05 00:23
描述:
通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。
输入字符串的格式为:“操作数1 运算符 操作数2”,“操作数”与“运算符”之间以一个空格隔开。
补充说明:
1. 操作数为正整数,不需要考虑计算结果溢出的情况。
2. 若输入算式格式错误,输出结果为“0”。
代码:
#include <iostream>#include<string.h>#include<stdlib.h>using namespace std;void stringArithmetic(const char *s1, long l, char *s2){int leftNum = 0,righNum = 0;int i = 0, j = 0;while (s1[i] >= '0'&&s1[i] <= '9'){leftNum = leftNum * 10 + (s1[i] - '0');i++;if (i > l){return ;}}if (s1[i] != ' ' || i >= l)return;elsei++;char op;if (s1[i] == '+' || s1[i] == '-'){op = s1[i];i++;}elsereturn;if (s1[i] != ' ' || i >= l)return;else{++i;}while (s1[i] >= '0'&&s1[i] <= '9'){righNum = righNum * 10 + (s1[i] - '0');++i;if (i >= l)return;}int result = 0;if (op == '+')result = leftNum + righNum;if (op == '-')result = leftNum - righNum;if (result < 0){result = -result;s2[j++] = '-';}_itoa(result, s2 + j, 10);}void print(char *c){char * p = c;while (p && *p != 0){cout << *p;p++;}}int main(){char *s1 = "1 + 1", s2[30] = { 0 };//cin >> s1;stringArithmetic(s1, strlen(s1)+1, s2);cout << s1 << " = " << s2 << endl;//print(s2); }
阅读全文
1 0
- 字符串加减计算
- 计算加减运算
- 复数的加减计算...
- iOS日期加减计算
- 时间的加减计算
- C++加减随机计算
- 日期的加减计算
- 字符串加减运算
- c++字符串时间加减
- JavaScript 字符串加减数字
- 重大低级错误(字符串加减,拼接而非直接计算)
- zzuli 1913: 小火山的计算能力(简单字符串处理 + 加减求和)
- MySQL 时间函数加减计算
- MySQL 时间函数加减计算
- 购物车加减计算总价
- 给定一个表示分数加减表达式的字符串,需要以字符串格式返回计算结果。结果表达式也是分数式
- C语言字符串加减计算器
- 时间字符串进行时间加减
- Android命令行卸载应用
- 用递归解决问题的思路
- IIS配置HTTP响应标头导致的一系列问题
- Ethercat 几种文件类型说明
- 文件相关
- 字符串加减计算
- AYIT2017暑假集训第二周周三赛 G
- 数组的排序算法
- 后台接收前台Json字符串转对象,对象属性是List对象类型。
- float x 与“零值”比较的if语句为?
- 设计模式-桥接模式
- Apache Ant的基本用法
- Ubuntu下配置tinyos环境
- 插头dp