NC16749. [NOIP2000]计算器的改良
描述
输入描述
一行字符串,即一个一元一次方程。
输出描述
解方程的结果(精确至小数点后三位)。保证解的绝对值大于等于0.001
示例1
输入:
6a-5+1=2-2a
输出:
a=0.750
C++(clang++ 11.0.1) 解法, 执行用时: 3ms, 内存消耗: 432K, 提交时间: 2023-01-19 21:24:47
#include<bits/stdc++.h> using namespace std; int main() { char s,c; int n,x=1,a=1,b=0,sum=0; while((c=getchar())!=EOF) { if(isalpha(c)) { s=c; if(n==0) n++; b+=x*a*n; n=0; } else if(isdigit(c)) { n=n*10+c-'0'; } else{ sum+=a*x*n; a=1;n=0; if(c=='-') a=-1; else if(c=='=') x=-1; } } printf("%c=%.3lf\n",s,-1.0*sum/b); }