當前位置:首頁 » 編程語言 » 輸出的近似值和累加的項數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;