有這樣一道題:
題目內容:設計乙個簡單的計算器程式,根據輸入的運算元和運算子可以完成 + 、—、* 、/ 、% 運算。輸出結果必須是乙個完整的算術表示式的格式。
例如 :輸入3.1 5 + ,輸出結果是 3.1+5=8.1。
注意:當輸入的運算子是"/「且第二個運算元是0時,輸出「除數不能為0」
當輸入的運算子是」%"且運算元中含有小數(如6.5)時,輸出「error!」
在做這道題時,我把輸入的兩個數字定義為double型別
double a,b;
char c;
cin>>a>>b>>c;
在實現當輸入的運算子是"%"且運算元中含有小數(如6.5)時,輸出「error!」~這個條件時,發現需要判斷輸入的兩個數字是否是小數
我的做法是:
if
((a!=
(int
)a)||
(b!=
(int
)b))
cout<<
"error!"
如果等於a則沒有小數,反之則有小數
注:
有一種特殊情況:例如a=6.0時,此時(int)a= =a,但它也是有小數的,不能參與%的運算。所以當判斷出(int)a==a時,用(int)a強制轉換a後再運算。
練習 判斷乙個數是否為小數
s input 請輸入 lst s.split if len lst 2 right lst 1 left lst 0 if len left 2 and len right 0 例如 5.不是小數 5也不是小數 left1 left 1 去掉小數點左邊字串的第一位負號 判斷剩下的部分是否為數字 i...
Python判斷乙個數是否為小數
一 判斷乙個數是否為小數 1 有且僅有乙個小數點 2 小數點的左邊可能為正數或負數 3 小數點的右邊為正數 二 實現 def is float str if str.count 1 小數有且僅有乙個小數點 left str.split 0 小數點左邊 整數字,可為正或負 right str.spli...
判斷有乙個數字是否為回文數
題目描述 判斷乙個整數是否是回文數。不能使用輔助空間。負整數可以是回文數嗎?例如 1 如果你打算把整數轉為字串,請注意不允許使用輔助空間的限制。你也可以考慮將數字顛倒。但是如果你已經解決了 顛倒整數 問題的話,就會注意到顛倒整數時可能會發生溢位。你怎麼來解決這個問題呢?本題有一種比較通用的解決方式。...