使用C++编写程序
题目描述
求1-2/3+3/5-4/7+5/9-6/11+…的前n项和,结果保留3位小数。
输入
输入正整数n(n>0)。
输出
输出一个实数,保留3位小数,单独占一行。
样例输入 Copy
5
样例输出 Copy
0.917
程序代码如下:
#include<iostream>
#include<iomanip>
#include<cmath>
#define ElemType_U unsigned
#define ElemType_F float
using namespace std;
template<class ElemType> //类模板
class SequenceSum_3
{
public:
SequenceSum_3(ElemType N) :Number(N) {};
void GetResult();
private:
ElemType Number;
ElemType_F Sum = 0;
};
template<class ElemType>
inline void SequenceSum_3<ElemType>::GetResult()
{
for (int i = 1; i <= Number; i++)
Sum += (i*pow(-1, i - 1)) / ((2 * i - 1)*1.0);
cout << fixed << setprecision(3) << Sum; //输出浮点数且保留三位小数
}
int main()
{
ElemType_U Num;
cin >> Num;
SequenceSum_3<ElemType_U> Sum_3(Num);
Sum_3.GetResult();
return 0;
}