/*这道题目暴露出很多问题 编程时头脑一定要清醒 否则会出现低级失误 比如字符串之间直接复制 和直接比较的问题*/
/**************************************************************************************
题目描述:
通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串。
输入字符串的格式为:“操作数1 运算符操作数2”,“操作数”与“运算符”之间以一个空格隔开。
补充说明:
1. 操作数为正整数,不需要考虑计算结果溢出的情况。
若输入算式格式错误,输出结果为“0”。
要求实现函数:
void arithmetic(const char *pInputStr, longlInputLen, char *pOutputStr);
【输入】 pInputStr: 输入字符串
lInputLen: 输入字符串长度
【输出】 pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长;
【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出
示例
输入:“4 + 7” 输出:“11”
输入:“4 - 7” 输出:“-3”
输入:“9 ++ 7” 输出:“0” 注:格式错误
***************************************************************************************/
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<assert.h>
using namespace std;
/*bug:对于操作数和操作符之间多余1个空格的情况 程序不报错 继续运行 不和题意 待debug*/
void arithmetic_cpy(const char *pInputStr, long lInputLen, char *pOutputStr)
{
/*因为分割字符串函数strtok的第一个参数不能是指针常量,所以复制
原字符串为另外的不相干
华为:通过键盘输入100以内正整数的加、减运算式,请编写一个程序输出运算结果字符串
最新推荐文章于 2024-03-11 12:21:14 发布