P1689 方程求解

阅读: 评论:0

P1689 方程求解

P1689 方程求解

题目描述
给一个方程,形如X+Y=Z或X-Y=Z。给出了其中两个未知数,请求出第三个数。未知数用‘?’表示,等式中也许会出现一些多余的空格。

输入格式
一行,方程。

输出格式
‘?’代表的值

输入输出样例
输入 #1 复制
样例输入1
1+2=?

样例输入2
3 +? = 2
输出 #1 复制
样例输出1
3

样例输出1
-1
说明/提示
0<=X,Y,Z<1,000,000,000

#include<bits/stdc++.h>
using namespace std;
string s;
long long x, y, z;
char ch;
int main(){getline(cin , s);int i = 0, len = s.size(), flag = 1;while(i < len){if(flag == 1){//x:第一项数字if(isdigit(s[i]))x = x * 10 + s[i]-'0';else if(s[i] == '?')x = -1;}else if(flag == 0){//y:第二项数字if(isdigit(s[i])){y = y * 10 + s[i]-'0';}else if(s[i] == '?')y = -1;}else if(flag == -1){//z:等于号后面的数字if(isdigit(s[i]))z = z * 10 + s[i]-'0';else if(s[i] == '?')z = -1;}if(s[i] == '+' || s[i] == '-')//ch:运算符ch = s[i],flag = 0;else if(s[i] == '=')flag = -1;i++;	}//运算结果if(x == -1){if(ch == '+')cout << z - y;else if(ch == '-')cout << z + y;}else if(y == -1){if(ch == '+')cout << z - x;else if(ch == '-')cout << x - z;}else if(z == -1){if(ch == '+')cout << x + y;else if(ch == '-') cout << x - y;}return 0;
} 

思考:怎么把代码变短一点。

本文发布于:2024-02-02 19:20:54,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170687285245901.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:ZCMU—1689
标签:方程
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23