- 最後登錄
- 2024-5-17
- 在線時間
- 589 小時
- 註冊時間
- 2009-5-17
- 閱讀權限
- 50
- 精華
- 0
- UID
- 6397582
- 帖子
- 1178
- 積分
- 7656 點
- 潛水值
- 45823 米
| 本帖最後由 cynthialar 於 2010-2-2 11:53 AM 編輯
我想問一下abs不是絕對值得關係嗎?
那麼以下程式,是否可以幫我解答一下呢?
- #include <iostream>
- using namespace std;
- int abs(int a);
- float abs(float a);
- double abs(double a);
- int main()
- {
- int a = -5, b = 3;
- float c = -2.4f, d = 8.4f;
- double e = -3e-9, f = 3e6;
- cout << "a= " << abs(a) << endl << "b= " << abs(b) << endl;
- cout << "c= " << abs(c) << endl << "d= " << abs(d) << endl;
- cout << "e= " << abs(e) << endl << "f= " << abs(f) << endl;
- system("pause");
- return 0;
- }
- int abs(int a)
- {
- cout << "int abs" << endl;
- return (a > 0?a:-a);
- }
- float abs(float a)
- {
- cout << "float abs" << endl;
- return (a > 0?a:-a);
- }
- double abs(double a)
- {
- cout << "double abs" << endl;
- return (a > 0?a:-a);
- }
複製代碼
顯示結果""應""為:
int abs
int abs
a=5
b=3
float abs
float abs
c=2.4
d=8.4
double abs
double abs
e=3e-009
f=3e+006
---------------------------------------------------------
此段程式,我照著書上面打,但是我顯示的結果為:
---------------------------------------------------------
a=5
b=3
float abs
float abs
c=2.4
d=8.4
double abs
double abs
e=3e-009
f=3e+006
---------------------------------------------------------
為什麼會少了前面兩行呢?
還有,在float的部份,為什麼宣告c=-2.4f和d=8.4f之後顯示的結果卻沒有"" f ""的存在?那麼這個"" f ""不就沒有用處了嗎?
在double的部份就更難理解了,為什麼宣告e=-3e-9和f=3e6之後顯示結果卻是"" e=3e-009 ""和"" f=3e+006 ""?
e不是代表一個""字""嗎?為什麼是表示""10""的幾次方呢?... |
|