根据给出的公式计算π的值,直到所加项小于1E-10为止.一共有两个问题,每个50分.

问题描述:

根据给出的公式计算π的值,直到所加项小于1E-10为止.一共有两个问题,每个50分.

程序如下:

using System;
public class TestNumSort
{    public static void Main ()
     {    double sum=0.5 ,t ,t1 ,t2 ,t3 ,p=0.5*0.5; 
          int odd=1 ,even=2 ,k ;
          t = t1 = t2 = 1.0 ; t3 = 0.5 ;
          while (t > 1e-10)
          {    t1 = t1 * odd / even ;
               odd += 2 ; even += 2 ;
               t2 = 1.0 / odd ;
               t3 = t3 * p ;
               t = t1 * t2 * t3 ;
               sum += t ;
          }   
          Console.WriteLine("\nPI={0 ,10 :f8}",sum * 6) ;
          Console.Read() ;
     }
}

将while循环换成do-while循环,实现同样的功能.
修改程序,计算圆的面积.其中圆的半径从键盘输入,圆的面积输出显示.π的值通过上述程序计算得到.

跪谢.
1个回答 分类:综合 2014-10-27

问题解答:

我来补答
using System;
public class TestNumSort
{
public static void Main()
{
double sum = 0.5,t,t1,t2,t3,p = 0.5 * 0.5;
int odd = 1,even = 2,k;
t = t1 = t2 = 1.0; t3 = 0.5;
do
{
t1 = t1 * odd / even;
odd += 2; even += 2;
t2 = 1.0 / odd;
t3 = t3 * p;
t = t1 * t2 * t3;
sum += t;
}
while (t > 1e-10);
Console.WriteLine("\nPI={0,10:f8}",sum * 6);//第一问
Console.WriteLine("请输入半径");
double r=Double.Parse(Console.ReadLine());
Console.WriteLine("圆的面积为:{0,10:f8}",sum*6*r*r);
Console.ReadLine();
}
}
 
 
展开全文阅读
剩余:2000