2014-09-25 46 views
0

爲了澄清,這是一個班的實驗室。我現在只是學習所有的基礎知識。我試圖找出如何使用浮點型變量並打印後的總雙可變(我想我們就可以選擇一個或其他),而使用循環機制(同時,這樣做,而)。我決定去循環。任何的意見都將會有幫助。現在我已經印刷了每一個小部分,直到它到達最後一個部分。我嘗試了不同的變化,但到目前爲止我一無所獲。我們如何使用float和double變量來計算和打印C++中的操作?

我需要幫助計算總爲:

1/1 + 1/2 1/3 + 1/4 + + ...... +99999999分之1100000000分之1

這是我到目前爲止:

#include <iostream> 

using namespace std; 

int main() 
{ 
float answer = 0; 

int num; 

for (int den = 1; den <= 100000000; ++den) 
{ 
num = 1; 

    cout << num << "/" << den; 

if (den == 100000000) 
    cout << " = " << endl; 
else 
    cout << " + "; 
answer += ((float)num)/((float)den); 
} 
cout << answer << endl; 

} 

謝謝!

回答

2

在任何時候,你的程序必須使用float或double,所以我想你想重複使用你的計算代碼爲每個類型輪流。以下是如何使用模板執行兩次計算的示例 - 首先爲float,然後爲double

#include <iostream> 

template <typename T> 
void calculate() 
{ 
    T answer = 0; 

    for (int den = 1; den <= 100000000; ++den) 
     answer += T(1)/T(den); 
    std::cout << answer << '\n'; 
} 

int main() 
{ 
    calculate<float>(); 
    calculate<double>(); 
} 
相關問題