綉氣 发表于 2014-4-2 18:48:00

分数相加减问题

在C程序设计上看到一题
求1-1/2+1/3-1/4+...+1/99-1/100
求组这题该怎么做

青玄 发表于 2014-4-2 18:48:01

这是实现代码:#include<stdio.h>
void main()
{
int sign=1;
float deno=2.0 ,sum=1.0, term;   
while(deno<=100)
{
sign=-sign;
term=sign/deno;
sum=sum+term;
deno=deno+1;
}
printf("f%|n",sum);
}


杨学子 发表于 2014-4-2 20:56:34

#include<stdio.h>
void main() {
        double i, p=1;
        double sum = 0.0;
        for (i=1.0; i <=100 ;i++) {
                sum=sum+p/i;
                p=-p;
                printf("%f\n", sum);
        }

        printf("1-1/2+1/3-......+1/99-1/100= %f", sum);

}


小弟不才,学了几年的c了 还是写成这样的程序。一起加油吧      

青玄 发表于 2014-4-2 21:05:15

如果没明白的话,这图里面有解释:

牡丹花下死做鬼 发表于 2014-4-4 18:11:00

# include <stdio.h>

int main()
{
        double i,sum;//1.0 / i为 double 用 float 会有warning
        int j;
        i = 1.0;
        sum = 0.0;
        for(j = 1;i<100;j=j+2)//浮点型不能准确存储所以用整型
        {
                sum += 1.0 / i;//一加一减反正代码不多不加判断直接写就行
                i = i + 1.0;
                sum -= 1.0 / i;
                i = i + 1.0;
        }
        printf("sum = %lf\n",sum);

        return 0;
}

驻留的习惯 发表于 2014-4-5 17:54:47


页: [1]
查看完整版本: 分数相加减问题