【题解】P1022 计算器的改良

题面

题目传送门

前言

《》题

正文

bur?

这题出的真《》

我们回到小学五年级的课本,来回顾一下一元一次方程是怎么解的

  1. 去分母

  2. 拆括号

  3. 移项

  4. 合并同类项

  5. 系数化为 1

其中前面两步题意不做要求

众所周知,所有的方程都可以化成 kx+b=0 的形式

x=bk

所以思路就很明显,我们只需要依照题意枚举并记录一次项系数和以及常数项系数和即可

代码细节较多,建议自己模拟

代码

远古时期码风,不喜勿喷

#include<bits/stdc++.h>
using namespace std;
int main(){
    int i,zhi=0,deng=1,tot=0,xi=0,fu=1;
    char S[100],q,w;
    scanf("%s",S);
    q=strlen(S);
    for(i = 0; i < q; i++){
        if(S[i]=='+'){
            zhi-=tot*deng*fu;
            tot=0;
            fu=1;
        }else if(S[i]=='-'){
            zhi-=tot*deng*fu;
            tot=0;
            fu=-1; 
        }else if(S[i]=='='){
            zhi-=tot*deng*fu;
            deng=-1;
            tot=0;
            fu=1;
        }else if(S[i]>='a'&&S[i]<='z'){
            xi=xi+tot*deng*fu;
            if(xi==0)xi=1;
            w=S[i];
            tot=0;
        }else tot=tot*10+(int)(S[i]-'0');
    }
    zhi+=tot*fu;
    cout<<w<<'=';
	cout<<fixed<<setprecision(3)<<(zhi*1.0)/(xi*1.0)<<endl;;
    return 0; 
}

后记

难 ~ 以 ~ 论 ~ 说 ~

完结撒花!

posted @   sunxuhetai  阅读(3)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示