codevs 1015 計算器的改良

2021-08-02 22:57:13 字數 1040 閱讀 2346

題目描述 description

ncl是一家專門從事計算器改良與公升級的實驗室,最近該實驗室收到了某公司所委託的乙個任務:需要在該公司某型號的計算器上加上解一元一次方程的功能。實驗室將這個任務交給了乙個剛進入的新手zl先生。為了很好的完成這個任務,zl先生首先研究了一些一元一次方程的例項:

4+3x=8

6a-5+1=2-2a

-5+12y=0

zl先生被主管告之,在計算器上鍵入的乙個一元一次方程中,只包含整數、小寫字母及+、-、=這三個數學符號(當然,符號「─」既可作減號,也可作負號)。方程中並沒有括號,也沒有除號,方程中的字母表示未知數。

編寫程式,解輸入的一元一次方程, 將解方程的結果(精確至小數點後三位)輸出至螢幕。

你可假設對鍵入的方程的正確性的判斷是由另乙個程式設計師在做,或者說可認為鍵入的一元一次方程均為合法的,且有唯一實數解。

輸入描述 input description

乙個一元一次方程

輸出描述 output description

方程的解

樣例輸入 sample input

6a-5+1=2-2a

樣例輸出 sample output

a=0.750

資料範圍及提示 data size & hint

注意加減號都是半形

一開始覺得好難啊,後面發現模擬計算等號左右的係數和常數,發現也可以做

#include#include#include#include#includeusing namespace std;

const int maxn = 5;

int pos,n[maxn],u[maxn],lr=0,k;

double l=0,r=0;

string s;

void cal(bool sign);

int main()

if(sign)tal=-tal;

if(!flag)tal=1;

if(s[k]>='a'&&s[k]<='z')

else

}

1015 計算器的改良

題目描述 description ncl是一家專門從事計算器改良與公升級的實驗室,最近該實驗室收到了某公司所委託的乙個任務 需要在該公司某型號的計算器上加上解一元一次方程的功能。實驗室將這個任務交給了乙個剛進入的新手zl先生。為了很好的完成這個任務,zl先生首先研究了一些一元一次方程的例項 4 3x...

1015 計算器的改良

ncl是一家專門從事計算器改良與公升級的實驗室,最近該實驗室收到了某公司所委託的乙個任務 需要在該公司某型號的計算器上加上解一元一次方程的功能。實驗室將這個任務交給了乙個剛進入的新手zl先生。為了很好的完成這個任務,zl先生首先研究了一些一元一次方程的例項 4 3x 8 6a 5 1 2 2a 5 ...

codevs 計算器的改良

include include include include using namespace std int get num string s coutsum int main else if s i s i s0.push back s.substr loc,s.length loc for i...