2014-09-25 44 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>(); 
} 
相关问题