求数列前n项和。在主函数中输入n 输出结果。
1/2,-3/4,5/8,-7/16,9/32
我的思路是这样的:
1、读入n项的变量
2、用一个循环控制求n的和
3、循环中,用分子除以分母乘以符号位为每项的值,再把每项的值累加到和中,如此重复计算,直到计算完前n项的和。
4、打印结果。
代码如下:(更正)
#include <stdio.h>
int main(void){
double sum=0; //存储前n项的和,初始化的值为0
int i=1,j=2,k,n; //i为每项的分子,j每项的分母,k为循环次数变量,n为输出多少项的变量
int sign=1; //每项的符号位
double item; //每项的值,初始化
printf("请输入n的值:");
scanf("%d",&n);
k=0;
while(k<n){
item=(double)i/j*sign; //用分子除以分母乘以符号位组成每项的值
sum+=item; //把每一项累加到和中
// printf("第%d项:i=%d,j=%d,item=%lf,sum=%lf\n",k+1,i,j,item,sum);
sign*=-1; //符号为变换
i+=2; //分子累加2
j*=2; //分母累乘2
k++; //开始计算一项
}
//打印结果
printf("前%d项的和为:%f。\n",n,sum);
return 0;
}