1759 加减表达式

题目描述 Description

加减法的运算。

题中数值均为整数,绝对值不超过1000.

输入描述 Input Description

共一行:由整数和加减运算符组成,且每个整数前有若干个+(或-号、或者它们的组合)。

输出描述 Output Description

共一行。由"输入表达式"=结果

样例输入 Sample Input

+-+-2+-+13--+-4

样例输出 Sample Output

+-+-2+-+13--+-3=-15

#include<cstdio>
#include<cstring>
using namespace std;
char s[1001];
int l,ans,sum,t=1;
int main()
{
    int i,j;
    scanf("%s",&s);
    l=strlen(s);
    i=0;
    L:while(s[i]==‘+‘||s[i]==‘-‘)
    {
        if(s[i]==‘-‘)
          t*=-1;
        i++;
    }
    sum=0;
    while(s[i]<=‘9‘&&s[i]>=‘0‘)
      sum=sum*10+s[i]-‘0‘,i++;
    ans=ans+t*sum;
    t=1;
    if(i<l)
      goto L;
    printf("%s=%d",s,ans);
    return 0;
}
时间: 2024-10-23 16:45:17

1759 加减表达式的相关文章

华为上机练习题--简单加减表达式计算

题目: 通过键盘输入100以内正整数的加.减运算式,请编写一个程序输出运算结果字符串. 输入字符串的格式为:"操作数1 运算符 操作数2","操作数"与"运算符"之间以一个空格隔开. 补充说明: 1.操作数为正整数,不需要考虑计算结果溢出的情况. 2.若输入算式格式错误,输出结果为"0". 要求实现函数: void arithmetic(const char *pInputStr, long lInputLen, char *

计算分数加减表达式的值

错解: 这是一个死循环,问题出在i=i*(-1).若i为负数,则为死循环. 正解: 引入新变量b,添加第二个if条件来判断当b为负数时改怎么做. b为负数时在第二个if里执行语句变为整数,从而进行累加.

表达式求值:从“加减”到“带括号的加减乘除”的实践过程

本文乃Siliphen原创,转载请注明出处:http://blog.csdn.net/stevenkylelee ● 为什么想做一个表达式求值的程序 最近有一个需求,策划想设置游戏关卡的某些数值,这个数值不是一个常量,而是根据关卡的某些环境数据套上一个计算表达式算出来的.这个需求无法用excel拖表预计算出,因为关卡的环境数据只有在游戏中才能产生,在excel制表时,这些都是未知的.作为程序员,我可以把计算表达式硬编码在代码中,但这个做法有缺陷,如果策划要修改计算表达式的话,只能通过我修改程序并

SQLServer学习笔记&lt;&gt;日期和时间数据的处理(cast转化格式、日期截取、日期的加减)和 case表达式

日期和时间数据的处理. (1)字符串日期 ‘20080301’,这一串为字符串日期,但必须保证为四位的年份,两位的月份,两位的日期.例如,查询订单表日期大于‘20080301’.可以这样写: 1 select * from sales.orders 2 where orderdate>'20080301' 结果如图所示: (2)cast进行转化.例如,可以讲‘20080301’转化为时间类型.其结果跟上图一样. 1 select * from sales.orders 2 where order

表达式不能自加减?

如下程序段 int x = 3, y = 4, z = 5; cout << &(++x); cout << x+++++y; cout << &(x++); cout << ++x++; cout << ++x+++y+++z << endl; (假设每条cout语句独立运行)求输出结果,思考一下吧 . . . ... ... 好了,看结果 第一个cout输出地址0x6dfee4 第二个cout报错 "lv

一道int与二进制加减题

int dis_data = 32769; if( dis_data > 0x7fff)  dis_data -= 0xffff; printf("%d\n",dis_data); 上面的dis_data 输出值会是多少?  初一看可能还看不出来,那就计算一下: 0x7fff转换为十进制为 32767,显然 dis_data > 0x7fff, 所以要执行 dis_data -= 0xffff;这一句代码. 现在dis_data = 32769, 那么 0xffff转换为十

利用机器学习实现微信小程序-加减大师自动答题

之前有看到微信小程序<跳一跳>别人用python实现自动运行,后来看到别人用hash码实现<加减大师>的自动答题领取娃娃,最近一直在研究深度学习,为啥不用机器学习实现呢?不就是一个分类问题吗 如何实现自动答题微信小游戏<加减大师>? 思考: 图像识别吗? 如何建立特征工程? 选用什么算法? 一.图像特征工程 如何获取手机游戏上的图片? 使用adb命令截取手机屏幕: 在PC端和手机端同时运行APowerMirror软件,将手机投屏到电脑上,然后使用Pillow包中的截图方

Leetcode 592.分数加减运算

分数加减运算 给定一个表示分数加减运算表达式的字符串,你需要返回一个字符串形式的计算结果. 这个结果应该是不可约分的分数,即最简分数. 如果最终结果是一个整数,例如 2,你需要将它转换成分数形式,其分母为 1.所以在上述例子中, 2 应该被转换为 2/1. 示例 1: 输入:"-1/2+1/2" 输出: "0/1"  示例 2: 输入:"-1/2+1/2+1/3" 输出: "1/3" 示例 3: 输入:"1/3-1/

[Swift]LeetCode592. 分数加减运算 | Fraction Addition and Subtraction

Given a string representing an expression of fraction addition and subtraction, you need to return the calculation result in string format. The final result should be irreducible fraction. If your final result is an integer, say 2, you need to change