您当前的位置: 首页 > 

贤鱼不闲

暂无认证

  • 3浏览

    0关注

    75博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

贤鱼的刷题日常--P1022 [NOIP2000 普及组] 计算器的改良--题目详解

贤鱼不闲 发布时间:2022-10-06 00:35:40 ,浏览量:3

🏆今日学习目标: 🍀学习了解P1022 [NOIP2000 普及组] 计算器的改良 ✅创作者:贤鱼 ⏰预计时间:15分钟 🎉个人主页:贤鱼的个人主页 🔥专栏系列:c++

请添加图片描述

计算器的改良
  • [NOIP2000 普及组] 计算器的改良
    • 题目背景
    • 题目描述
    • 输入格式
    • 输出格式
    • 样例 #1
      • 样例输入 #1
      • 样例输出 #1
  • 思路
  • AC代码

[NOIP2000 普及组] 计算器的改良 题目背景

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 样例输入 #1
6a-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            
关注
打赏
1664987740
查看更多评论
0.1153s