鱼C论坛

 找回密码
 立即注册
查看: 3021|回复: 13

关于C语言的一道题

[复制链接]
发表于 2013-11-12 15:06:59 | 显示全部楼层 |阅读模式
1鱼币
4.jpg 求大神!

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-12 20:06:44 | 显示全部楼层
目前还不会阿。:cry
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-12 21:47:53 | 显示全部楼层
#include<stdio.h>
void main()
{
        int n,i=1,b;
        float pi=0,t,a=1;
        printf("n=");
        scanf("%d",&n);
    while(i<=n)
        {
                pi=pi+a;
                ++i;
                b=1+2*(i-1);
                t=(i-1)*1.0/b;
                a=a*t;
        }
        printf("n=%d  pi=%f\n",n,pi);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-12 21:52:54 | 显示全部楼层
n是和的个数,越大越精确  pi是π/2  想得到π,再乘个2就行了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-13 00:09:08 | 显示全部楼层
效果截图:
1.png

程序代码如下:
#include <stdio.h>

//求圆周率近似值函数,n越大越准确
double CalPai(int n)
{
        double sum;
        if(n<2)
        {
                return 1*2;
        }
        if(n<3)
        {
                return (1+1.0/3)*2;
        }
        if(3==n)
        {
                return (1+1.0/3+(1.0/3)*(2.0/5))*2;
        }

        sum=1+1.0/3+(1.0/3)*(2.0/5);//前3项和
        double a=2;        //分子
        double b=5;        //分母
        double ab=(1.0/3)*(2.0/5);//第三项
        for(int i=3;i<n;i++)
        {
                ab*=(a+1)/(b+2);
                sum+=ab;
                a++;        //分子加1
                b+=2;        //分母加2
        }
        return sum*2;
}

void main ()
{

        printf("%-6d项和时,计算圆周率结果为:%f\n",1,CalPai(1)); 
        printf("%-6d项和时,计算圆周率结果为:%f\n",2,CalPai(2)); 
        printf("%-6d项和时,计算圆周率结果为:%f\n",3,CalPai(3));
        printf("%-6d项和时,计算圆周率结果为:%f\n",10,CalPai(10)); 
        printf("%-6d项和时,计算圆周率结果为:%f\n",10000,CalPai(10000)); 
        printf("%-6d项和时,计算圆周率结果为:%f\n",99999999,CalPai(99999999));

}

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-11-13 10:31:23 | 显示全部楼层
版主帮我选最佳答案吧:dizzy:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-13 12:04:08 | 显示全部楼层
        printf("%-6d项和时,计算圆周率结果为:%.20f\n",1,CalPai(1)); 
        printf("%-6d项和时,计算圆周率结果为:%.20f\n",2,CalPai(2)); 
        printf("%-6d项和时,计算圆周率结果为:%.20f\n",3,CalPai(3));
        printf("%-6d项和时,计算圆周率结果为:%.20f\n",10,CalPai(10)); 
        printf("%-6d项和时,计算圆周率结果为:%.20f\n",10000,CalPai(10000)); 
        printf("%-6d项和时,计算圆周率结果为:%.20f\n",99999999,CalPai(99999999));
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-13 15:44:23 | 显示全部楼层
void main()
{
      int a = 1.0, b = 3.0, 
           j = 1.0\3.0, pi = 2.0;
         printf("输入一个数");
    scanf("%d", &n);
    float p (int n);
    pir= p(n);
   printf("pi = %f",pir);
}
if (n = 1)
{
     pir= pi;
}
float p (int n)
{
     for(int i = 2; i<=n;++i)
        {
                 j *= a\b;
                pir += 2*j;
                ++a, b += 2;
               return pir;
        }
       retrun p;
}我身边占时还没有编译器,也不知道对不对,请哪位大神帮忙看看哪个地方错了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-13 17:24:57 | 显示全部楼层
我的求助里面有道类似的题,你可以去参考一下,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-13 21:22:48 | 显示全部楼层
顶一个{:1_1:}{:1_1:}{:1_1:}{:1_1:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-14 21:06:56 | 显示全部楼层
此题好像可以用一个递归函数来实现,这样代码量或许就会少点。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-11-16 15:08:44 | 显示全部楼层
本帖最后由 cyshhm 于 2013-11-16 15:15 编辑

楼主你的题是错的 你的分子增加 明显快于 分母 后面加的数字会不断怎大

你这个计算π的公司是错的
你这个书上的题印错了 是盗版的吧

我记得以前我做题的时候 计算π 是一个加一个减

分子所乘的数是1 1 2 3 5 8 13 21这样增长
分母是1 3 5 7 9 这样增长的

所以你这个题是错误的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-11-23 18:53:39 | 显示全部楼层
#include<stdio.h>
void main()
{
        int n,i=1;
        double pi=0,t,a=1,b;
        printf("n=");
        scanf("%d",&n);
    while(i<=n)
        {
                pi=pi+a;
                b=1+2*i;
                t=i/b;
                a=a*t;
                                i+=1;
        }
        printf("pi=%lf\n",pi);
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-12-1 12:46:01 | 显示全部楼层
怎么感觉跟高数课本上的有道题很像呢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-22 21:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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