🏆今日学习目标: 🍀学习了解P1022 [NOIP2000 普及组] 计算器的改良 ✅创作者:贤鱼 ⏰预计时间:15分钟 🎉个人主页:贤鱼的个人主页 🔥专栏系列:c++
计算器的改良
[NOIP2000 普及组] 计算器的改良
题目背景
- [NOIP2000 普及组] 计算器的改良
- 题目背景
- 题目描述
- 输入格式
- 输出格式
- 样例 #1
- 样例输入 #1
- 样例输出 #1
- 思路
- AC代码
NCL 是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能。实验室将这个任务交给了一个刚进入的新手 ZL 先生。
题目描述为了很好的完成这个任务,ZL 先生首先研究了一些一元一次方程的实例:
- 4 + 3 x = 8 4+3x=8 4+3x=8。
- 6 a − 5 + 1 = 2 − 2 a 6a-5+1=2-2a 6a−5+1=2−2a。
- − 5 + 12 y = 0 -5+12y=0 −5+12y=0。
ZL 先生被主管告之,在计算器上键入的一个一元一次方程中,只包含整数、小写字母及 +
、-
、=
这三个数学符号(当然,符号“-
”既可作减号,也可作负号)。方程中并没有括号,也没有除号,方程中的字母表示未知数。
你可假设对键入的方程的正确性的判断是由另一个程序员在做,或者说可认为键入的一元一次方程均为合法的,且有唯一实数解。
输入格式一个一元一次方程。
输出格式解方程的结果(精确至小数点后三位)。
样例 #1 样例输入 #16a-5+1=2-2a
样例输出 #1
a=0.750
思路
一元一次方程,不需要配方啥的乱七八糟,所以我们直接存下x的系数和常数就可以 我们默认将所有的常数移到右边 这里我们要分开处理
1等号两边
如果在等号左边,有未知数的一项直接按照加减处理就可以,如果在另一边,转换的时候需要变号 常数项与其相反,在等号左边的话需要变号,右边则不需要 等号处理完了,需要处理一下括号了
处理括号
在上面的基础上,括号里变一下号就好了 答案记得开double
AC代码#include
#include
#include
#include
using namespace std;
char a[10006];
int main(){
cin>>a;
int c=strlen(a);
int wc=0;
char sss;//sss储存一下未知数,这个题不一定全是xy之类的
for(int i=0;i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?