当前位置:首页 » 编程语言 » 输出的近似值和累加的项数c语言
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

输出的近似值和累加的项数c语言

发布时间: 2023-01-07 12:53:32

1. c语言解答:利用公式:π/4=1-1/3+1/5-1/7+……,求π的近似值,直到最后一项的绝对值小于10-4为止,

term=(1.0/(n+2))*pow(-1,count);

2. C语言编程求出圆周率的近似值。

#include <stdio.h>


int main()

{

double pi;

unsigned long i,n;

scanf("%lu",&n);

for(pi=1,i=1;i<=n;++i)

{

pi*=(i+1)/2*2.0 / ( (i+1)/2*2+(i-1)%2*2-1 );

}

printf("pi=%.10lf ",pi*=2);

return 0;

}

3. C语言:求e的近似值

这题目有点奇怪:计算精度到10^-4为止,输出却要到12位小数(要那么多位不准确的数?)

#include<stdio.h>
intmain()
{inti,t=1;
doublee=0;
for(i=1;t<10000;i++)
{e+=1.0/t;
t*=i;
}
printf("%.12lf ",e);
return0;
}

4. C语言!大神进!!

(类型)变量,才表示强制类型转换。如(float)m/n

5. C语言编程序,求e的近似值e≈1+1/2!+1/3!+…+1/n!

分析:有两种情况
(1)计算前n项
源程序如下:
#include<stdio.h>
int
main()
{
double
item=1,sum=1;
int
n,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
{

item*=1.0/i;

sum+=item;
}
printf("The
sum
is
%lf\n",sum);
return
0;
}
(2)计算各项直到最后一项小于10^(-4)
源程序如下:
#include<stdio.h>
#include<math.h>
int
main()
{
double
item=1,sum=1,n=1;

do
{

item*=1.0/n;

sum+=item;

n++;
}while(fabs(item)>=1e-4);
printf("The
sum
is
%lf\n",sum);
return
0;
}

6. 编程计算e的近似值,直到最后一项的绝对值小于10^-5时为止,输出e的值并统计累加项数

1、问题主要是类型的问题。因为a 是int型的,在计算的时候不转型成浮点型是不对的(1/a=0)因此要写成:

pi=pi+1.0/(2*a-1);

pi=pi-1.0/(2*a-1);

还有判断条件:

while ((1.0/a)>1e-4);

另外,这个公式是pi/4所以为了得到要求的输出,要写:

printf("pi = %f count = %d ",pi*4,a);

2、#include<stdio.h>

main()

{

double pi=0,i=1,j=1,x;

do{

x=j/i;

j=-j;

i+=2;

pi+=x;

}while(i<8000);

pi*=4;

printf("%lf ",pi);

}

(6)输出的近似值和累加的项数c语言扩展阅读:

在实际问题中许多数值是无法完全准确的,许多数值要求不必弄得完全准确的,考虑这些数值的大概的数值,这就是近似数(或近似值,在方程中常称为近似解)。

使用近似数就有一个近似程度的问题,一个近似数四舍五入的位数,即这个近似数精确到哪一位。从左边第一个不是零的数字起,到精确到的那一位数止,所有的数字都叫做这个数值的“有效数字”。在实际计算时,对精确的要求提法不同,一般是可以“精确到哪一位”或者要求“保留几位数”或“保留几个有效数字”。在没有特殊说明的情况下,要遵循四舍五入的原则。

7. C语言程序习题

这么多很累的,¥20,有意私聊

8. C语言利用泰勒级数计算e的近似值,并统计出此时累加了多少项。要求最后一项的绝对值小于10-5

这个问题肯定要用到循环,由于次数不定所以用while循环。每个累加项是一个循环,对于每个累加项来说,里面又需要计算x的平方和阶乘,对于x平方好说,可以找规律,利用循环变量来控制,对于阶乘来说我们可以自定义一个函数达到代码复用的目的。

以下是具体代码:

#include<stdio.h>
#include<stdlib.h>

doublefactorial(doublen);

main()
{
inti=0;
intsign=1;//控制for循环的符号
doublex;//输入值
doublenr;//储存分子
doublesin=0;//储存sin的近视值
doubledm;//储存分母

printf("Inputx: ");
scanf("%lf",&x);
nr=x;

do
{
dm=1+2*i;//累加项的分母
sin=sin+(nr/factorial(dm))*sign;
nr*=x*x;//累加项的分子
sign=-sign;//控制正负
i++;//累加项个数
}while((nr/factorial(dm))>=1e-5);

printf("sin(x)=%.3f,count=%d ",sin,i);
system("pause");
}

//函数功能:计算阶乘
doublefactorial(doublen)
{
doubles=1;
inti;
for(i=2;i<=n;i++)
s*=i;
returns;
}

9. c语言编程题,求e的近似值,e=1/1!+1/2!+1/3!+......+1/n!,累加项小于1

楼主你好!
首先你的公式我认为是错的!前面第一项漏加了个1
正确的公式为:e=1+1/1!+1/2!+1/3!+......+1/n!
代码实现如下:
#include<stdio.h>
int fun(int n)
{
if(n == 1)return 1;
return n*fun(n-1);
}
int main()
{
double sum =1.0 ;
int i = 1;
while((1.0/fun(i))>=1e-8)
{
sum +=(1.0/fun(i));
i++;
}
printf("%.8lf",sum);
}
运行结果为2.71828183
网上查到的值2.718281828459
由此可知,前8位小数基本一样!
希望我的回答对你有帮助!
望采纳!谢谢!

10. c语言 求近似值

填空部分为:
int i;
double t=x,x2=x*x;
for(i=1;i<20;i+=2,t*=x2/((i+1)*(i+2)))
if(i%4==1)sum+=t;
else sum-=t;