关于#c语言#的问题:在主函数中输入n 输出结果

求数列前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;
    
} 

img