2

我尝试了很多在我的代码中找到问题,但无法弄清楚为什么输出不正确。我的问题是对 2/9 - 5/13 + 8/17 的序列求和......这是我的代码,我没有得到正确的结果。

#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{
int i,n,sign=-1;
float a=2,b=9;
clrscr();
cout<<"Enter the number of terms in the series: ";
cin>>n;
float sum = a/b;
for(i=1;i<=n;i++)
{
cout<<a<<"/"<<b<<" "<<sign<<" "<endl;
a=a+3;
b=b+4;
sign= -1*sign;
sum+=sign*(a/b);
}
cout<<"\nThe sum of the series is = "<<sum;
getch();
}

0.660059

请告诉我我错在哪里。

4

1 回答 1

5

你开始sign=-1;

然后sign= -1*sign;在添加第二项之前。

你应该从sign=1;

于 2013-10-26T19:31:03.200 回答