圆周率的一道题看我错在哪了了
#include<stdio.h>#include<math.h>
int main()
{
double PI=1.0,j=3.0,t;//给分母赋初值,由于赋值左边不能是算式,所以先定义PI,最后将PI*4给PI就行
int k=-1;//用于正负且可当做是分子
printf("输入阈值t(0<t<1):");
scanf("%lf",&t);//得到阈值
do
{
PI+=k/j;//每一步进行计算
j=j+2;//分母加2
k=-k;//调整正负
}while(fabs(k/j)>=t);//循环体
PI=PI*4;//将循环体最后得到的PI*4后给真正的PI
printf("%.6f",PI);//输出6位小数的PI
return 0;//结束
} C往python里发,真行 永恒的蓝色梦想 发表于 2020-3-29 12:23
C往python里发,真行
这是一个人给我发的答案我学的python看不懂求python解法 李子豪 发表于 2020-3-29 12:24
这是一个人给我发的答案我学的python看不懂求python解法
你不是要问错哪了吗? 永恒的蓝色梦想 发表于 2020-3-29 12:30
你不是要问错哪了吗?
我不会做求教 from math import fabs
def func(t):
PI=1.0
j=3.0
k=-1
PI+=k//j
j+=2
k=-k
while fabs(k//j)>=t:
PI+=k//j
j+=2
k=-k
return PI*4
def main():
print('{:.6f}'.format(func(float(input("输入阈值t(0<t<1):"))))) 永恒的蓝色梦想 发表于 2020-3-29 12:44
结果错误。。。。。。。。。。 pi=0
a=1
b=0
tv=float(input('输入阈值t(0<t<1):'))
while (1/a)>tv:
pi+=(-1)**(b)*(1/a)
a+=2
b+=1
print('%.6f' % (pi*4))
页:
[1]