c++程序设计,求1 - 1/2 + 2/3 - 3/4 + 4/5 - 5/6 + …… (n-1)/n。不要(double)
时间: 2023-08-30 22:06:55 浏览: 94
c++求1+1/2+1/3+...+1/n
5星 · 资源好评率100%
下面是使用c++程序设计,不使用double来求解1 - 1/2 + 2/3 - 3/4 + 4/5 - 5/6 + …… (n-1)/n的代码:
```
#include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int flag=1;//flag为1表示加,为-1表示减
int numerator=1;//分子
int denominator=2;//分母
int sum=1;//前面的1
for(int i=2;i<=n;i++)
{
sum+=flag*numerator/denominator;
flag=-flag;
numerator++;
denominator++;
}
cout<<sum<<endl;
return 0;
}
```
以上代码中,我们通过设置一个flag变量来判断当前应该加还是减,同时通过numerator和denominator两个变量来表示当前的分数。在每次循环中,我们将当前的分数加入到sum中,然后更新flag、numerator和denominator的值即可。
需要注意的是,由于我们没有使用double,因此在计算分数的时候,需要将分子和分母都定义为int类型,否则会出现类型转换的问题。
阅读全文