刚刚一位高中同桌(女生)问我你是学的计算机科学与技术专业的是吧,我说:昂。
然后她就给我发了她写的一段代码,问题很简单就是计算PI的值。结果正确,但是题库端给她的结果是运行超时,这个就是她写的。
#include <stdio.h>
#include <math.h>
int main
{
double n,i,j,PI;
j=1;
n=0;
for(i=1,j=2;1/i>=1e-8;i=i+2,j=j+1)
{
n=n+1/ipow(-1,j);/这应该是她想改变正负号/
}
PI=4n;
printf("%.6",PI);
return 0;
}
求大佬们能解释一下为啥会超时。
然后下面这段是我用while循环写的,这个并没有超时。
#include <stdio.h>
#include <math.h>
int main()
{
double n=1,i=1.0,j=1,PI;
while(fabs(i)>=1e-8)
{
PI+=i;
j+=2;
n=-n;
i=n/j;
}
PI=4*PI;
printf("%.6f",PI);
return 0;
}@TOC
C语言计算PI的值,保留到小数点后六位
最新推荐文章于 2023-04-01 19:42:37 发布