首页 > 编程知识 正文

c语言计算定积分,C语言如何求积分

时间:2023-05-03 21:05:21 阅读:268697 作者:2410

用指针实现,最好先明白*p[4]和(*p)[4]的区别

int *p[4]; //定义一个指针数组,该数组中每个元素是一个指针,每个指针指向哪里就需要程序中后续再定义了。
int (*p)[4]; //定义一个数组指针,该指针指向含4个元素的一维数组(数组中每个元素是int型)。
区分int *p[n]; 和int (*p)[n]; 就要看运算符的优先级了。
int *p[n]; 中,运算符[ ]优先级高,先与p结合成为一个数组,再由int*说明这是一个整型指针数组。
int (*p)[n]; 中( )优先级高,首先说明p是一个指针,指向一个整型的一维数组。

其次还要知道定积分的定义

#include<iostream>#include<cmath>using namespace std;int main(){float integral(float(*p)(float),float a,float b,int n);float fsin(float);float a1,b1,c,(*p)(float);int n;cout<<"输入精确度数n:"<<endl;cin>>n;cout<<"input a1,b1:"<<endl;cin>>a1>>b1;p=fsin;c=integral(p,a1,b1,n);cout<<"the integral of sin(x) is:"<<c<<endl;return 0;}//声明了一个指针p,p指向一个具有一个float类型形参的函数,这个函数返回一个float型值.float integral(float(*p)(float),float a,float b,int n){int i;float x,h,s;h=(b-a)/2;x=a;//积分下限s=0;for(i=0;i<=n;i++){x=x+h;//对函数的自变量x进行迭代s=s+(*p)(x)*h;对每一个小矩形累加求和}return(s);}float fsin(float x){return sin(x);}

 

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。