题目引用:http://116.56.140.75:8000/JudgeOnline/problem.php?cid=1097&pid=6
问题 G: 5-7.多项式加减
时间限制: 5 Sec 内存限制: 128 MB题目描述
输入一个多项式加减法的字符串,比如“1+2+3-4”,根据数学的相关运算求出运算结果并输出。
输入
一个多项式加减法的字符串
输出
运算结果
样例输入
1+2+13-4
样例输出
12
解析:对字符串的处理,取出每一个数,进行加减计算
代码:
#include<iostream>
#include<string.h>
#include<cmath>
using namespace std;
int main()
{
char ch[1000];
cin >> ch;
long long k = 0, sum = 0, x = 0;
long long num[1000];
int strl=strlen(ch)-1;
for (int i = strl; i >= 0; i--)
{
if (ch[i] != '+'&&ch[i] != '-')
{
sum += ((ch[i] - '0')*pow(10, k));
k++;
}
else
{
if (ch[i] == '+')
num[x++] = sum;
if (ch[i] == '-')
num[x++] = (-1)*sum;
k = 0;
sum = 0;
}
if (i == 0)
num[x++] = sum;
}
sum = 0;
for (int j = 0; j < x; j++)
sum += num[j];
cout << sum;
return 0;
}
/**************************************************************
Problem: 2454
User: 201730685257
Language: C++
Result: 正确
Time:0 ms
Memory:1496 kb
****************************************************************/