Ariana_Minaj 2019-10-27 19:31 采纳率: 50%
浏览 4310
已采纳

S=1-1/2+1/3-1/4+…⋯+1/(2n-1)-1/2n 输入整数n 输出前n项的和 要求结果保留小数点后6位 不知道哪里出错误了输入8 输出不是0.662872

#include
int main()
{
double s,b;
int i,n,a;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
a=i;
if(i%2!=0)
{
b=2*a-1;
}
else
{
b=-2*a;
}
s=s+1/b;
}
printf("%.6lf",s);
return 0;
}

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-10-27 22:34
    关注
    #include <stdio.h>
    
    int main()
    {
        double s=0,b;
        int i,n,a;
        scanf("%d", &n);
        n=n*2;
        for(i=1;i<=n;i++)
        {
            a=i;
            if(i%2!=0)
            {
                b=i;
            }
            else
            {
                b=-i;
            }
            s=s+1/b;
        }
        printf("%.6lf",s);
        return 0;
    }
    
    

    结果

    0.662872

    问题解决,请点采纳

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?