问题描述
输入正整数n,求1-2/3+3/5-4/7+5/9-6/11+…的前n项和,结果保留3位小数。
代码展示
代码如下:
#include <stdio.h>
int main(){
int n; //n为项数
scanf("%d",&n);
double sum=0,j=1,k=1;//j表示分子,k表示分母
for(int i=1;i<=n;i++){
if(i%2==0) sum-=j/k;//偶数项为负
else sum+=j/k;//奇数项为正
j++;
k+=2;
}
printf("%.3lf",sum);
return 0;
}
以下代码是 @计科土狗 这位大佬写的
#include <stdio.h>
#include <math.h>
int main()
{
int n,flag = 1;
scanf("%d",&n);
double sum = 0;
for(int i = 1;i <= n;i ++ )
{
double num = i;
double deno = 2 * i - 1;
double item = num / deno * flag;
sum = sum + item;
flag = - flag;
}
printf("%.3lf",sum);
return 0;
}