哦哦哦哦哦123 发表于 2020-11-15 15:01:26

循环里面加入 if else之后只循环一次

#include<stdio.h>
#include<math.h>
int main(void)
{
        int n=2;
        double sum=1;
        while(1/(2*n-1)>=1e-6)
        {
                if(n%2!=0)
                sum=sum+1/(2*n-1);
                if(n%2==0)
                sum=sum-1/(2*n-1);
                n=n+1;
        }
        sum=4*sum;
        printf("%f %d",sum,n);
        return 0;
       
}
一直出现的结果就是循环一次;不知道为啥

巴巴鲁 发表于 2020-11-15 15:16:28

C语言中,两个整型,1/2等于0
#include<stdio.h>
#include<math.h>
int main(void)
{
      int n=2;
      double sum=1;
      while(1/(2*n-1.0)>=1e-6) // 运算结果改为浮点数类型
      {
                if(n%2!=0)
                sum=sum+1/(2*n-1.0); // 同上
                if(n%2==0)
                sum=sum-1/(2*n-1.0); // 同上
                n=n+1;
      }
      sum=4*sum;
      printf("%f %d",sum,n);
      return 0;
      
}

哦哦哦哦哦123 发表于 2020-11-15 15:19:40

巴巴鲁 发表于 2020-11-15 15:16
C语言中,两个整型,1/2等于0

感谢

风过无痕1989 发表于 2020-11-15 15:42:05

巴巴鲁 发表于 2020-11-15 15:16
C语言中,两个整型,1/2等于0

欠的账,没法还了

巴巴鲁 发表于 2020-11-15 17:09:11

风过无痕1989 发表于 2020-11-15 15:42
欠的账,没法还了

不知道{:10_278:}
页: [1]
查看完整版本: 循环里面加入 if else之后只循环一次