[模拟]2000年分区联赛普级组之一 计算器的改良
2017-05-11 16:26
218 查看
题目描述
NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能。实验室将这个任务交给了一个刚进入的新手ZL先生。为了很好的完成这个任务,ZL先生首先研究了一些一元一次方程的实例:
4+3x=8
6a-5+1=2-2a
-5+12y=0
ZL先生被主管告之,在计算器上键入的一个一元一次方程中,只包含整数、小写字母及+、-、=这三个数学符号(当然,符号“─”既可作减号,也可作负号)。方程中并没有括号,也没有除号,方程中的字母表示未知数。
Input
输入的一元一次方程。
你可假设对键入的方程的正确性的判断是由另一个程序员在做,或者说可认为键入的一元一次方程均为合法的,且有唯一实数解。
Output
方程的结果(精确至小数点后三位)。
分析
其实是一道很简单很简单(当然是我这个层次)的水题
学了模拟学了数组学了循环学了过程就可以轻易做出
有模拟这两个字应该是不用给思路了吧。。。
NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能。实验室将这个任务交给了一个刚进入的新手ZL先生。为了很好的完成这个任务,ZL先生首先研究了一些一元一次方程的实例:
4+3x=8
6a-5+1=2-2a
-5+12y=0
ZL先生被主管告之,在计算器上键入的一个一元一次方程中,只包含整数、小写字母及+、-、=这三个数学符号(当然,符号“─”既可作减号,也可作负号)。方程中并没有括号,也没有除号,方程中的字母表示未知数。
Input
输入的一元一次方程。
你可假设对键入的方程的正确性的判断是由另一个程序员在做,或者说可认为键入的一元一次方程均为合法的,且有唯一实数解。
Output
方程的结果(精确至小数点后三位)。
分析
其实是一道很简单很简单(当然是我这个层次)的水题
学了模拟学了数组学了循环学了过程就可以轻易做出
有模拟这两个字应该是不用给思路了吧。。。
#include <iostream> #include <cstdio> #include <memory.h> using namespace std; char c[1001],s[101],f,a,o; int n1,n2,i,l,k,j; float x1,x2; void x() { float d=0; int i; for (i=1;i<=k;i++) { if (s[i]>=97&&s[i]<=122||s[i]=='+'||s[i]=='-') break; d=d*10+s[i]-48; } if (s[1]>=97&&s[1]<=122) d=1; f=s[i]; if (f>=97&&s[i]<=122) { if (o=='+'||o==0) x1+=d; else x1-=d; f=s[i+1]; } else if (o=='+'||o==0) x2+=d; else x2-=d; o=f; } int main() { i=1; while (1) { scanf("%c",&c[i]); if (c[i]>=97&&c[i]<=122) a=c[i]; if (c[i]=='=') j=i; if (c[i]=='\n') break; i++; } c[i]='+'; l=i-1; for (i=j+1;i<=l;i++) if (c[i]=='+') c[i]='-'; else if (c[i]=='-') c[i]='+'; if (c[j+1]!='+'||c[j+1]!='-') c[j]='-'; for (i=1;i<=l+1;i++) if (c[i]!='=') { k++; s[k]=c[i]; if (c[i]=='+'||c[i]=='-') { x(); memset(s,0,sizeof(s)); k=0; } } printf("%c=",a); printf("%.3f",(float)x2/(x1-x1*2)); }
相关文章推荐
- 2000年分区联赛普级组之三 乘积最大
- (ssl1007)P1018 2000年分区联赛普级组之三 乘积最大
- 计算器的改良 2000年NOIP全国联赛普及组
- 2000年分区联赛普级组之三 乘积最大
- 2006年分区联赛普级组之三 JAM计数法(模拟)
- 2000年分区联赛普级组之一&nbsp;计…
- 2000年分区联赛普级组之三 乘积最大
- 1999年分区联赛普级组之一 Cantor表(枚举)
- [luoguP1022] 计算器的改良(模拟)
- 2006年分区联赛普级组之二 开心的金明
- 2005年分区联赛普级组之二&nbsp;校门外…
- 2012年分区联赛普级组第一题&nbsp;…
- 2005年分区联赛普级组之三&nbsp;采药
- 计算器的改良 (模拟)
- 2012年分区联赛普级组第二题&nbsp;寻宝
- 2001年分区联赛普级组之四&nbsp;装箱问…
- 【SSLGZ 1021】2002年分区联赛普级组之三 产生数
- 2002年分区联赛普级组之四 过河卒
- 2001年分区联赛普级组之一&nbsp;数…
- 2006年分区联赛普级组之一&nbsp;明明的…