1 条题解
-
0
C++ :
#include <bits/stdc++.h> using namespace std; int main(){ string s,w; cin>>s; //r1存放带字母的参数的计算结果(未知数系数) //r2存放数字的结算结果 (常数系数) int i,r1=0,r2=0; int f = 1;//遇到=取反 char c;//存放字母 for(i = 0;i < s.size();i++){ if(s[i]=='=') f = -1; if(isalpha(s[i])&&(i==0||!isalpha(s[i]))){ if(i==0) r1++; else if(s[i-1]=='+'||s[i-1]=='=') r1++; else if(s[i-1]=='-') r1--; } if(s[i]=='-'||isdigit(s[i])){ w = w + s[i]; //如果是最后一个,那么w一定是数字 if(i==s.size()-1){ r2 = r2 + f * atoi(w.c_str()); // cout<<w<<" "<<r2<<endl; w = ""; //带字母的参数 }else if(isalpha(s[i+1])){ r1 = r1 + f * atoi(w.c_str()); c = s[i+1]; // cout<<w<<" "<<r1<<endl; w = ""; }else if(s[i+1]=='+'||s[i+1]=='='||s[i+1]=='-'){ //数字 r2 = r2 + f * atoi(w.c_str()); // cout<<w<<" "<<r2<<endl; w = ""; } } } //cout<<r1<<" "<<r2<<endl; if(r2 == 0) cout<<fixed<<setprecision(3)<<c<<"="<<0.0<<endl; else cout<<fixed<<setprecision(3)<<c<<"="<<r2 * -1.0 / r1<<endl; }
- 1
信息
- ID
- 718
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 0
- 上传者