c語言用for語句求1到100的積 用c語言算法怎么寫1*2*3*4*5的積,謝謝?
用c語言算法怎么寫1*2*3*4*5的積,謝謝?寫c語言的程序最好養(yǎng)成習慣,建個工程,然后建程序。#includc語言編程龍貝格積分算法?這個程序,我正好在學計算方法的時候?qū)戇^,直接貼代碼C 實現(xiàn)如下
用c語言算法怎么寫1*2*3*4*5的積,謝謝?
寫c語言的程序最好養(yǎng)成習慣,建個工程,然后建程序。#includ
c語言編程龍貝格積分算法?
這個程序,我正好在學計算方法的時候?qū)戇^,直接貼代碼
C 實現(xiàn)如下:
#includeltiostreamgt
#includeltcmathgt
using namespace std
const int MAXRepeat 100 //最大允許重復
double function(double x)//被積函數(shù),根據(jù)自己的需要手工輸入
{
double s
s 1.0 / (1 x)
return s
}
void Romberg(double a, double b, double epsion, double f(double x))
{
int m 1
int n 1
int k
double h
double ep
double p
double xk
double s
double q
double T[MAXRepeat]
h b - a
T[0] 0.5 * h * (f(a) f(b))
ep epsion 1.0
while ((ep gt epsion) ampamp (m lt MAXRepeat))
{
p 0.0
for (k 0 k lt n k )
{
xk a (k 0.5) * h // n-1
p p f(xk) //計算∑f(xk h/2),T
} // k0
p (T[0] h * p) / 2.0 //T`m`(h/2),變步長梯形求積公式
s 1.0
for (k 1 k lt m k )
{
s 4.0 * s //[pow(4,m)T`m`(h/2)-T`m`(h)]/[pow(4,m)-1],2m階牛頓柯斯特公式,即龍貝格公式
q (s * p - T[k - 1]) / (s - 1.0)
T[k-1] p
p q
}
ep fabs(q - T[m - 1])
m
T[m - 1] q
n // 2 4 8 16
h / 2.0
}
for (int i 0 i lt m i )
{
int j
if (!(i % j))
{
coutltltT[i]llt tendl } else { coultlt[I]ltlt