c#32.编一个程序,用do-while循环语句来计算PI=4*(1-1/3+1/5+...+1/n),要求当1/n<0.000001时停止计算。
发布网友
发布时间:2022-05-12 20:42
我来回答
共3个回答
热心网友
时间:2023-10-22 00:30
好长时间不写这种代码了,手都生了。
class Program
{
static void Main(string[] args)
{
//c#32.编一个程序,用do-while循环语句来计算PI=4*(1- //1/3+1/5+...+1/n),
//要求当1/n<0.000001时停止计算。
int n=1;
double sum = 0;
double temp = 0.0;
do
{ temp = 1 / (double)(2 * n + 1);
if (n % 2 == 0)
{ sum = sum - temp; }
else
{ sum = sum + temp;}
n++;
}
while
(temp > 0.000001);
double PI = 4 * (1 - sum);
Console.WriteLine(PI);
Console.ReadLine();
}
}
热心网友
时间:2023-10-22 00:30
嗯,
class Program
{
static void Main(string[] args)
{
/*用do-while循环语句来计算PI=4*(1-1/3+1/5+...+1/n),要求当1/n<0.000001时停止计算。*/
double PI;
double n = 3;
double temp = 0;
do
{
temp = temp + 1 / (n + 2);
n += 2;
}
while (1 / n < 0.000001);
PI = 4 * (2d / 3d + temp);
System.Console.WriteLine(PI.ToString()); }
}//值还是有点不对,是3.46666666666667
本人才疏学浅,
热心网友
时间:2023-10-22 00:30
这是算圆周率的,符号要变,用j来控制,结果为3.14159465358569,比较准了
using System;
namespace pie
{
class Program
{
static void Main(string[] args)
{
double s = 0, i = 0, j = 1, k;
do
{
k = 1 / (2 * i + 1);
s += j * k;
i++;
j *= -1;
}
while (k >= 0.000001);
s *= 4;
Console.WriteLine("{0}", s);
}
}
}