给一个方程,形如X+Y=Z或X-Y=Z。给出了其中两个未知数,请求出第三个数。未知数用‘?’表示,等式中也许会出现一些多余的空格。
输入格式:
一行,方程。
输出格式:
‘?’代表的值
样例输入1 1+2=?样例输入2 3 +? = 2输出样例#1: 复制
样例输出1 3样例输出1 -1
0<=X,Y,Z<1,000,000,000
模拟
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define N 110 using namespace std; int read() {int x=0,f=1; char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9') x=x*10+ch-'0',ch=getchar();return x*f; } char ch[N]; int l,s,w[4],f; int main() {gets(ch);s=1;l=strlen(ch);for(int i=0;i<l;i++){if(ch[i]<='9'&&ch[i]>='0')w[s]=w[s]*10+ch[i]-'0';else {if(ch[i]!=' '&&ch[i]!='?') ++s;if(ch[i]=='+') f=1;if(ch[i]=='-') f=-1; }}if(w[1]==0) w[1]=w[3]+w[2]*(-1*f),printf("%d",w[1]);elseif(w[2]==0) w[2]=w[3]-w[1],printf("%d",f*w[2]);else w[3]=w[1]+f*w[2],printf("%d",w[3]);return 0; }
转载于:.html
本文发布于:2024-02-02 19:19:05,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170687274645892.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |