循环里面加入 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;
}
一直出现的结果就是循环一次;不知道为啥 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;
} 巴巴鲁 发表于 2020-11-15 15:16
C语言中,两个整型,1/2等于0
感谢 巴巴鲁 发表于 2020-11-15 15:16
C语言中,两个整型,1/2等于0
欠的账,没法还了 风过无痕1989 发表于 2020-11-15 15:42
欠的账,没法还了
不知道{:10_278:}
页:
[1]