信息学奥赛c++语言:计算分数加减表达式的值
编写程序,输入n的值,求1/1−1/2+1/3−1/4+1/5−1/6+1/7−1/8+...+(−1)^(n−1)⋅1/n的值。输出一个实数,为表达式的值,保留到小数点后四位。
·
题目描述
编写程序,输入n的值,求1/1−1/2+1/3−1/4+1/5−1/6+1/7−1/8+...+(−1)^(n−1)⋅1/n的值。
输入
输入一个正整数n。1 ≤ n ≤ 1000。
输出
输出一个实数,为表达式的值,保留到小数点后四位。
样例输入
2
样例输出
0.5000
代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
double n,t;
cin>>n;
for (int i=1;i<=n;i++) // 循环变量 i 从 1 开始,每次循环结束后 i 加 1,直到 i 大于 n 时停止循环
{
if(i%2==0){ // 判断当前循环的次数 i 是否为偶数
t=t-1.0/i; // 如果 i 是偶数,从累加结果 t 中减去 1.0 / i
}
else{
t=t+1.0/i; // 如果 i 是奇数,将 1.0 / i 累加到结果 t 中
}
}
printf("%.4lf",t); //输出函数 printf 输出累加结果 t,保留四位小数
return 0;
}
更多推荐
所有评论(0)