581314987 发表于 2020-11-21 23:29:35

求助大佬

求1/2+1/4+1/6+……的和,最后一项的值小于0.0001为止。

#include<stdio.h>
int main()
{
        double sum1=0;
        double sum2=0;
        double a,b,c;
        int i=2;
        while(i<=100)
        {if(i%2==0)
        sum1=sum1+1/i;
        else
        sum2=sum2+1/i;
        i++;
        }
        a=sum1-sum2;
        printf("1/2-1/3+1/4-......+1/100=%lf",a);
        return 0;
}

为什么答案是0啊,求大佬解答(ω)hiahiahia

风过无痕1989 发表于 2020-11-21 23:29:36

这个简单,一会给你程序

581314987 发表于 2020-11-21 23:30:43

搞错了,题目是:求和1/2-1/3+1/4-1/5+1/6……+1/100

581314987 发表于 2020-11-22 00:13:13

谢谢大佬了

风过无痕1989 发表于 2020-11-22 00:17:54

581314987 发表于 2020-11-21 23:30
搞错了,题目是:求和1/2-1/3+1/4-1/5+1/6……+1/100

在你的程序上改的

// 求和1 / 2 - 1 / 3 + 1 / 4 - 1 / 5 + 1 / 6…… + 1 / 100
#include<stdio.h>
int main()
{
        int n = 2;
        double sum = 0;
        while (n <= 100)
        {
                if (1.0 / n >= 0.0001)
                {
                        if (n % 2 != 0)
                                sum += 1.0 / n;
                        else
                                sum -= 1.0 / n;
                        n++;
                }
                else
                        break;
        }
        printf("1/2 - 1/3 + 1/4 - ... + 1/100 = %lf\n", sum);
        return 0;
}
页: [1]
查看完整版本: 求助大佬