鱼C论坛

 找回密码
 立即注册
查看: 1181|回复: 7

[已解决]圆周率的一道题看我错在哪了了

[复制链接]
发表于 2020-3-29 12:21:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#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;//结束
}
最佳答案
2020-3-29 14:04:36
  1. pi=0
  2. a=1
  3. b=0
  4. tv=float(input('输入阈值t(0<t<1):'))
  5. while (1/a)>tv:
  6.     pi+=(-1)**(b)*(1/a)
  7.     a+=2
  8.     b+=1
  9. print('%.6f' % (pi*4))
复制代码
QQ图片20200329111405.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-29 12:23:48 | 显示全部楼层
C往python里发,真行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2020-3-29 12:24:45 | 显示全部楼层

这是一个人给我发的答案我学的python看不懂求python解法
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-29 12:30:32 | 显示全部楼层
李子豪 发表于 2020-3-29 12:24
这是一个人给我发的答案我学的python看不懂求python解法


你不是要问错哪了吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-29 12:31:46 | 显示全部楼层

我不会做求教
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-29 12:44:46 | 显示全部楼层
  1. from math import fabs
  2. def func(t):
  3.     PI=1.0
  4.     j=3.0
  5.     k=-1

  6.     PI+=k//j
  7.     j+=2
  8.     k=-k
  9.     while fabs(k//j)>=t:
  10.         PI+=k//j
  11.         j+=2
  12.         k=-k
  13.     return PI*4
  14. def main():
  15.     print('{:.6f}'.format(func(float(input("输入阈值t(0<t<1):")))))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-3-29 13:11:52 | 显示全部楼层

结果错误。。。。。。。。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-29 14:04:36 | 显示全部楼层    本楼为最佳答案   
  1. pi=0
  2. a=1
  3. b=0
  4. tv=float(input('输入阈值t(0<t<1):'))
  5. while (1/a)>tv:
  6.     pi+=(-1)**(b)*(1/a)
  7.     a+=2
  8.     b+=1
  9. print('%.6f' % (pi*4))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-9 09:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表