1185: 入门简单a+b

Posted Leonqqs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1185: 入门简单a+b相关的知识,希望对你有一定的参考价值。

这道题花了20分钟(简单个屁!!!)

题目:

时间限制 : 1 Sec
内存限制 : 16 Mb
提交 : 3105
解决 : 1618

题目描述

做了,简单的a,b和的问题。但是,如果要求输入的情况不是a和b,而是整个加法表达式呢? 请想办法,计算加法表达式的结果。

输入

输入一个加法表达式,如1+2=。

输出

计算出输入表达式的正确结果

样例输入

1+2=

样例输出

3

完整的输入表达式。加号两边的数值属于int范围内,且第一个数可能为负数。

 

方法:

1、字符串读入。

2、用循环判断是否为一个数,然后记录。

3、两个数相加。

4、负数要考虑。

 

标程:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    char s[1900];
    int ans=0,ans1=0,an=1,an1;
    while ((s[an]=getchar())!=10)
    {
        an++;
    }
    for (int i=1;i<=an-1;i++)
    {
        if ((s[i]!=43)&&(s[i]!=‘-‘))ans=ans*10+s[i]-48;
        else
        {
            if (s[i]==43)
            {
                an1=i;
                i=an;    
            }

        }
    }
    if (s[1]==‘-‘)ans=0-ans;
    for (int i=an1+1;i<=an-1;i++)
    {
        if ((s[i]!=‘=‘)&&(s[i]!=‘-‘) )ans1=ans1*10+s[i]-48;
    }
    if (s[an1+1]==‘-‘)ans1=0-ans1;
    cout<<ans+ans1<<endl;
    return 0;
}

 

以上是关于1185: 入门简单a+b的主要内容,如果未能解决你的问题,请参考以下文章

POJ 1185 炮兵阵地(状压DP入门)

POJ 3254 & POJ 1185(状压DP入门)

python html简单入门

Python入门2(赋值)

Lua:简单入门

算法入门 01线性枚举(简单 - 第一题)LeetCode 344