⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 simp.h

📁 包含冒泡排序算法函数模板和数据结构中的字符串查找例子及解线性方程组的3个典型算法加演示。
💻 H
字号:
/*头文件calculation.h*/
#include<math.h>
//复化梯形算法
double T_fun(int n,double a,double b,double (*f)())
{
	int k;
	double h,x;
	double F0,F1=0;
	double T; //返回值
	F0=(*f)(a)+(*f)(b);
	h=(b-a)/n;
	for(k=1;k<n;k++)
	{
		x=a+k*h;
		F1=F1+(*f)(x);
	}
	T=h*(F0+2*F1)/2;
	return(T);
}
//复化辛普森算法
double simpson(int n,double a,double b,double (*f)())
{
	int j;
	double h,x;
	double F0,F1=0,F2=0;
	double SN; //返回值
	F0=(*f)(a)+(*f)(b);
	h=(b-a)/(2*n);
	for(j=1;j<2*n;j++)
	{
		x=a+j*h;
		if(j%2)
			F1=F1+(*f)(x);
		else
			F2=F2+(*f)(x);
	}
	SN=h*(F0+2*F2+4*F1)/3;
	return(SN);
}
//龙贝格数值积分算法
double romberg(double a,double b,double eps,double(*f)())
{
	int m,n,i,k;
	double y[10]={0,0,0,0,0,0,0,0,0,0};
	double h,ep,p,x,s,q;
	h=b-a;
	y[0]=h*((*f)(a)+(*f)(b))/2.0;
	m=1;
	n=1;
	ep=eps+1.0;
	while((ep>=eps)&&(m<=9))
	{
		p=0.0;
		for(i=0;i<n;i++)
		{x=a+(i+0.5)*h;
		 p=p+(*f)(x);
		}
		p=(y[0]+h*p)/2.0;
		s=1.0;
		for(k=1;k<=m;k++)
		{
			s=4.0*s;
			q=(s*p-y[k-1])/(s-1.0);
			y[k-1]=p;  p=q;
		}
		ep=fabs(q-y[m-1]);
		m=m+1;  y[m-1]=q; 
		n=n+n;  h=h/2.0;
	}
	return(q);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -