时间限制: 1 s
 空间限制: 128000 KB
 题目等级 : 白银 Silver
题目描述 Description

NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能。实验室将这个任务交给了一个刚进入的新手ZL先生。为了很好的完成这个任务,ZL先生首先研究了一些一元一次方程的实例:

4+3x=8

6a-5+1=2-2a

  -5+12y=0

ZL先生被主管告之,在计算器上键入的一个一元一次方程中,只包含整数、小写字母及+、-、=这三个数学符号(当然,符号“─”既可作减号,也可作负号)。方程中并没有括号,也没有除号,方程中的字母表示未知数。

编写程序,解输入的一元一次方程, 将解方程的结果(精确至小数点后三位)输出至屏幕。

你可假设对键入的方程的正确性的判断是由另一个程序员在做,或者说可认为键入的一元一次方程均为合法的,且有唯一实数解。

输入描述 Input Description

一个一元一次方程

输出描述 Output Description

方程的解

样例输入 Sample Input

6a-5+1=2-2a

样例输出 Sample Output

a=0.750

数据范围及提示 Data Size & Hint

注意加减号都是半角

分类标签 Tags 点此展开

模拟 注意别重复就好

#include <iostream>
#include <cstring>
#include <cstdio> using namespace std; bool f;
int i,j,unknown,yz;
char s[],ch;
bool c[];
int main()
{
gets(s);
int sl=strlen(s);
for(i=;i<sl;++i)
{
if(s[i] == '=') f=;
if(s[i]>=''&&s[i]<='')
{
int z=,h=,j=i;
while(s[j]>=''&&s[j]<='')
{
if(h==&&!c[j]) {z=s[j]-;h++;c[j]=;}
if(!c[j]&&h)
{
z=z*+s[j]-;c[j]=;
j++;
}
else j++;
}
if(s[j]>='a'&&s[j]<='z') z=;
if(s[i-]=='-') z=z*(-);
if(f) yz+=z*(-);
else yz+=z;
}
if(s[i]>='a'&&s[i]<='z')
{
int g,v,x,c;
if(s[i-]=='+') c=;
else if(s[i-]=='+') c=-;
else if(s[i-]>=''&&s[i-]<='') {
g=i-,v=,x=;
while(s[g]>=''&&s[g]<='')
{
if(x==) {v=s[g]-;x++;}
else {v=v+(s[g]-)*;}
g--;
}
if(s[g]=='+') v*=;
else if(s[g]=='-') v*=(-);
if(f) v*=(-);
else v*=;
unknown+=v;
}
ch=s[i];
}
}
double c=yz*1.0/unknown*-;
if(c!=-0.000||c!=0.000)
printf("%c=%.3lf\n",ch,c);
else cout<<ch<<"="<<"0.000";
}

codevs 1015 计算器的改良 2000年NOIP全国联赛普及组的更多相关文章

  1. Codevs 1017 乘积最大 2000年NOIP全国联赛普及组NOIP全国联赛提高组

    1017 乘积最大 2000年NOIP全国联赛普及组NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 今年是国 ...

  2. 1017 乘积最大 2000年NOIP全国联赛普及组NOIP全国联赛提高组

    1017 乘积最大 2000年NOIP全国联赛普及组NOIP全国联赛提高组   #include <iostream> #include <string> #include & ...

  3. codevs 1043 方格取数 2000年NOIP全国联赛提高组

    时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond 题目描述 Description 设有N*N的方格图(N<=10,我们将其中的某些方格中填入正整数,而 ...

  4. 【动态规划】【记忆化搜索】1017 乘积最大 2000年NOIP全国联赛普及组NOIP全国联赛提高组

    跟CODEVS 3415没有什么区别,也不用高精度. http://www.cnblogs.com/autsky-jadek/p/4055184.html #include<cstdio> ...

  5. 【动态规划】【记忆化搜索】CODEVS 1011 数的计算 2001年NOIP全国联赛普及组

    设答案为f(n),我们显然可以暴力地递归求解: f(n)=f(1)+f(2)+……+f(n/2). 但是n=1000,显然会超时. 考虑状态最多可能会有n种,经过大量的重复计算,所以可以记忆下来,减少 ...

  6. codevs 1145 Hanoi双塔问题 2007年NOIP全国联赛普及组

    时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题目描述 Description 给定A.B.C三根足够长的细柱,在A柱上放有2n个中间有孔的圆盘,共有n个不同的 ...

  7. codevs 1131 统计单词数 2011年NOIP全国联赛普及组

     时间限制: 1 s  空间限制: 128000 KB  题目等级 : 白银 Silver 题目描述 Description 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位 ...

  8. codevs 1316 文化之旅 2012年NOIP全国联赛普及组

    时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题目描述 Description 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一种文 ...

  9. codevs 1013 求先序排列 2001年NOIP全国联赛普及组 x

                         题目描述 Description 给出一棵二叉树的中序与后序排列.求出它的先序排列.(约定树结点用不同的大写字母表示,长度<=8). 输入描述 Inpu ...

随机推荐

  1. MongoDB基础入门002--基本操作,增删改查

    一.这里只是演示最基本的操作,更多的信息可以去官网.https://docs.mongodb.com/manual 打开一个cmd,输入mongo命令打开shell,其实这个shell就是mongod ...

  2. easyui框架对tab的限制提示

    使用easyui框架如果页面打开太多可能导致页面加载缓慢的问题,下面我们看看代码怎么写: var $tab = $('#tabs'); var tabCount = $tab.tabs('tabs') ...

  3. RegExp类型exec()方法的返回值说明

    之前看别人写的插件经常会用到RegExp对象来验证输入,并且获取一些那时我并不晓得是什么东西的数组,来取值进行自定义的逻辑处理.今天学习了一下RegExp类型.终于有了一个初步的了解,至少不会看一会就 ...

  4. iOS 真机测试 App installation failed

    真机测试的过程中,出现这种Bug This application's application-identifier entitlement does not match that of the in ...

  5. entry for sde instance not found in services file解决方法[转]

    当使用如下连接: ipropertyset ppropertyset; ppropertyset = new propertysetclass(); ppropertyset.setproperty( ...

  6. iOS - 详细理解KVC与KVO

    详细理解KVC与KVO 在面试的时候,KVC与KVO有些时候还是会问到的,并且他们都是Objective C的关键概念,在这里我们先做一个简单地介绍: (一)KVC: KVC即指:NSKeyValue ...

  7. Mac常用shell命令

    几个常用命令 pwd 命令名称:pwd 英文:print work directory 描述:查看当前工作目录的完整路径 ls 英文全称: list 描述:列出目录下的内容清单 常用参数: -l:列出 ...

  8. IOS 图片上传处理 图片压缩 图片处理

    - (void)initActionSheet { UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil dele ...

  9. ORA-02266: unique/primary keys in table referenced by enabled foreign keys

    在数据库里面使用TRUNCATE命令截断一个表的数据时,遇到如下错误 SQL >TRUNCATE TABLE ESCMOWNER.SUBX_ITEM ORA-02266: unique/prim ...

  10. URL无法显示某些特殊符号

    URL无法显示某些特殊符号,这个时候就要使用编码了.编码的格式为:一个百分号,后面跟对应字符的ASCII(16进制)码值.例如 空格的编码值是"%20".(ASCII参考)URL中 ...