鱼C论坛

 找回密码
 立即注册
查看: 2746|回复: 3

求教!我是c语言初学者!求PI!不知道哪里错啦!

[复制链接]
发表于 2012-4-19 17:55:21 | 显示全部楼层 |阅读模式
1鱼币
#include<stdio.h>
#include<math.h>

main()
{
    float sum , t ;
    int i = 1, j =1 ;
        for(; ; j +=2)
        {
            t = (1.0 / j);
            if(0 == i % 2)
            {
             sum -= t ;
            }else
            {
             sum += t;
            }
             if( fabs(t) < 1E-6)
                {
                    break;
                }
             i++;
             printf("%f\n",t);
         }

    sum *= 4;
    printf("%lf",sum);

    getch();
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-4-19 17:55:22 | 显示全部楼层
  1. #include<stdio.h>
  2. #include<conio.h>
  3. #include<math.h>

  4. main()
  5. {
  6.     float sum = 0 , t ;//sum需要初始化
  7.     int i = 1, j =1 ;
  8.         for(; ; j += 2)
  9.         {
  10.             t = (1.0f / j);
  11.             if(0 == i % 2)
  12.             {
  13.              sum -= t ;
  14.             }
  15.                         else
  16.             {
  17.              sum += t;
  18.             }
  19.              if( fabs(t) < 1E-6)
  20.                 {
  21.                     break;
  22.                 }
  23.              i++;
  24.              printf("%f\n",t);
  25.          }

  26.     sum *= 4;
  27.     printf("%lf",sum);

  28.     getch();//要用到conio.h头文件

  29.         return 0;
  30. }

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

使用道具 举报

发表于 2012-4-19 18:18:37 | 显示全部楼层
#include<stdio.h>
#include<math.h>
main()
{
    float sum=0 , t ;   //赋初值
    int i =1, j =1 ;  //i用于判断正负
        for(; ; j +=2)
        {
                t = (1.0 / j);
                if(0 == i % 2)
                {
                        sum -= t ;
                }
                else
                {
                        sum += t;
                }
                if( fabs(t) < 1E-6)
                {
                        break;
                }
                i++;
//                printf("%f\n",t);
        }
       
    sum *= 4;
    printf("%f",sum);
//    getch();
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-4-19 18:19:29 | 显示全部楼层
下面这个是我自己写的,仅供参考。
#include <stdio.h>

int main()
{
        double pi=0,i=-1;
        int count=0;
        while ((1/i)>=1e-4 || -1==i)
        {
                i++;
                i++;
                pi+=(1/i)*(count%2?-1:1);
                count++;
        }
        printf("pi = %f\ncount = %d\n",pi*4,count);
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-21 00:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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