题目链接
题目背景
NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能。实验室将这个任务交给了一个刚进入的新手ZL先生。
【题解】:
坑点太多了,虽然说是我之前做过的,但是重新做一遍还是错了不少回才能A。
坑点1:浮点数存在负零的表达,所以需要把负零变成正零。
坑点2:1a+2a=3 , a+3a-3a=3.
自己领悟一下这两个事例吧。
贴上我很丑的代码:
#include<bits/stdc++.h>
using namespace std;
const int N=1e3+10;
char s[N],s1[N],s2[N],ch[N];
void check(char t[],double &X,double &C){ //切割出系数和常数
double x=0,c=0;
double tmp=0;
int f=0,ff=0,alp=1;
int len=strlen(t);
for(int i=0;i<=len;i++){
if(t[i]=='+'||(t[i]=='-'&&i!=0)||i==len){
if(f){
f&