c++程序设计,求1 - 1/2 + 2/3 - 3/4 + 4/5 - 5/6 + …… (n-1)/n。不要(double)
时间: 2023-08-30 22:06:55 浏览: 103
下面是使用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类型,否则会出现类型转换的问题。
相关问题
c++程序设计,求1 - 1/2 + 2/3 - 3/4 + 4/5 - 5/6 + …… (n-1)/n。
以下是用C++编写的程序,可以求解1 - 1/2 + 2/3 - 3/4 + 4/5 - 5/6 + …… (n-1)/n的结果:
#include <iostream>
using namespace std;
int main()
{
int n;
double sum = 0.0;
cout << "请输入n的值:";
cin >> n;
for (int i = 1; i <= n; i++)
{
if (i % 2 == 1)
{
sum += (double)i / (i + 1);
}
else
{
sum -= (double)i / (i + 1);
}
}
cout << "结果为:" << sum << endl;
return 0;
}
程序中,我们首先要输入n的值,然后利用for循环依次计算每一项的值,并将结果累加起来。需要注意的是,当i为奇数时,我们将其加入总和中,当i为偶数时,我们将其从总和中减去。最后,我们输出结果即可。
c++求1-1/3+1/5-1/7+……
以下是三种C++求1-1/3+1/5-1/7+……的方法:
方法一:使用一个变量来记录符号,循环中每次加上当前项的值乘以符号,最后输出结果。
#include <iostream>
using namespace std;
int main() {
int i, sign = 1;
double sum = 0.0;
for (i = 1; i <= 100; i += 2) {
sum += sign * 1.0 / i;
sign = -sign;
}
cout << sum << endl;
return 0;
}
方法二:在循环体里加入正负号来实现加减。
#include <iostream>
using namespace std;
int main() {
int i;
double sum = 0.0;
for (i = 1; i <= 100; i++) {
if (i % 2 == 0) sum -= 1.0 / i;
else sum += 1.0 / i;
}
cout << sum << endl;
return 0;
}
方法三:加入flag来控制单双数的符号。
#include <iostream>
using namespace std;
int main() {
int i;
double sum = 0.0;
int flag = 1;
for (i = 1; i <= 100; i++) {
sum += flag * 1.0 / i;
flag = -flag;
}
cout << sum << endl;
return 0;
}
阅读全文
相关推荐















