求积C语言
㈠ c语言如何求定积分
4.龙贝格求积公式,求解定积分
C/C++ code
#include<stdio.h>
#include<math.h>
#define f(x) (sin(x)/x)
#define N 20
#define MAX 20
#define a 2
#define b 4
#define e 0.00001
float LBG(float p,float q,int n)
{ int i;
float sum=0,h=(q-p)/n;
for (i=1;i<n;i++)
sum+=f(p+i*h);
sum+=(f(p)+f(q))/2;
return(h*sum);
}
void main()
{ int i;
int n=N,m=0;
float T[MAX+1][2];
T[0][1]=LBG(a,b,n);
n*=2;
for(m=1;m<MAX;m++)
{ for(i=0;i<m;i++)
T[i][0]=T[i][1];
T[0][1]=LBG(a,b,n);
n*=2;
for(i=1;i<=m;i++)
T[i][1]=T[i-1][1]+(T[i-1][1]-T[i-1][0])/(pow(2,2*m)-1);
if((T[m-1][1]<T[m][1]+e)&&(T[m-1][1]>T[m][1]-e))
{ printf("Answer=%f\n",T[m][1]); getch();
return ;
}
}
}
6. 牛顿-科特斯求积公式,求定积分
C/C++ code
#include<stdio.h>
#include<math.h>
int NC(a,h,n,r,f)
float (*a)[];
float h;
int n,f;
float *r;
{ int nn,i;
float ds;
if(n>1000||n<2)
{ if (f)
printf("\n Faild! Check if 1<n<1000!\n",n);
return(-1);
}
if(n==2)
{ *r=0.5*((*a)[0]+(*a)[1])*(h);
return(0);
}
if (n-4==0)
{ *r=0;
*r=*r+0.375*(h)*((*a)[n-4]+3*(*a)[n-3]+3*(*a)[n-2]+(*a)[n-1]);
return(0);
}
if(n/2-(n-1)/2<=0)
nn=n;
else
nn=n-3;
ds=(*a)[0]-(*a)[nn-1];
for(i=2;i<=nn;i=i+2)
ds=ds+4*(*a)[i-1]+2*(*a)[i];
*r=ds*(h)/3;
if(n>nn)
*r=*r+0.375*(h)*((*a)[n-4]+3*(*a)[n-3]+3*(*a)[n-2]+(*a)[n-1]);
return(0);
}
main()
{
float h,r;
int n,ntf,f;
int i;
float a[16];
printf("Input the x[i](16):\n");
for(i=0;i<=15;i++)
scanf("%d",&a[i]);
h=0.2;
f=0;
ntf=NC(a,h,n,&r,f);
if(ntf==0)
printf("\nR=%f\n",r);
else
printf("\n Wrong!Return code=%d\n",ntf);
getch();
}
看看这个或许有帮助
㈡ 用C语言编写两个数求和求积求商
//用C语言编写两个数求和求积求商?
#include<stdio.h>
float add(float x,float y)
{
float z;
z=x+y;
return z;
}float multiply(float x,float y)
{
float z;
z=x*y;
return z;}float divide(float x,float y)
{
float z;
z=x/y;
return z;
}void main()
{
float a,b;
printf("请分别输入两个数:");
scanf("%f%f",&a,&b);
printf("%.2f+%.2f=%.2f\n",a,b,add(a,b));
printf("%.2f*%.2f=%.2f\n",a,b,multiply(a,b));
printf("%.2f/%.2f=%.2f\n",a,b,divide(a,b));}
㈢ C语言,求任意两数相乘的积!
#include <stdio.h>
void main()
{
int a,b,c;
printf("请输入a和b的值:");
scanf("%d %d", &a, &b);
c = a * b;
printf("a*b = %d ",c);
}
(3)求积C语言扩展阅读:
C语言中,运算符的运算优先级共分为15 级。1 级最高,15 级最低。 在表达式中,优先级较高的先于优先级较低的进行运算。而在一个运算量两侧的运算符 优先级相同时,则按运算符的结合性所规定的结合方向处理。
结合性:C语言中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自右至左)。例如算术运算符的结合性是自左至右,即先左后右。如有表达式x-y+z 则y 应先与“-”号结合,执行x-y 运算,然后再执行+z 的运算。这种自左至右的结合 方向就称为“左结合性”。
而自右至左的结合方向称为“右结合性”。最典型的右结合 性运算符是赋值运算符。如x=y=z,由于“=”的右结合性,应先执行y=z 再执行x=(y=z)运算。C语言运算符中有不少为右结合性,应注意区别,以避免理解错误。
㈣ 编写一个求两个整数乘积的c语言程序
#include<stdio.h>
intmain(void)
{
intx,y;
printf("请输入数字,空格分割 ");
scanf("%d%d",&x,&y);
printf("结果是%d ",x*y);
return0;
}
㈤ C语言 编写函数,求两数的乘积。
#include<stdio.h>
//计算两数相乘函数
intmulti(intx,inty)
{
returnx*y;//返回两数相乘结果
}
intmain()
{
intm,n;
printf("输入两个整数:");
scanf("%d%d",&m,&n);
printf("%d*%d=%d ",m,n,multi(m,n));//调用函数,输出结果
return0;
}