题目描述
输入一个整数n,输出数列1-1/3+1/5-……前n项的和。
输入
输入只有一个整数n。
输出
结果保留2为小数,单独占一行。
样例输入 Copy
3
样例输出 Copy
0.87
#include <stdio.h> // 引入标准输入输出库
int main() { // 主函数入口
int n, t = -1; // 定义整数 n(用于输入),t 初始化为 -1(用于控制符号)
double sum = 0.0; // 定义双精度浮点数 sum,初始值为 0.0(用于累加和)
// 输入正整数 n
scanf("%d", &n); // 从标准输入读取一个整数 n
// 计算前 n 项的和
for (int k = 1; k <= n; k++) // 循环 k 从 1 到 n
{
t *= -1; // 每次循环改变 t 的符号(奇数项为正,偶数项为负)
sum += 1.0 / (2 * k - 1) * t; // 计算当前项,累加到 sum 中
}
// 输出结果,保留两位小数
printf("%.2f\n", sum); // 打印 sum,格式化为保留两位小数
return 0; // 返回 0,表示程序正常结束
}