c语言算ex自定义函数,用C语言写定积分的通用函数:sin(x),cos(x),eX.
/************************************************************/
/*sin,cos,exp函數(shù)已經(jīng)存在于系統(tǒng)的數(shù)學(xué)函數(shù)庫中,程序開頭需要定義math頭文件*/
/************************************************************/
#include/****************主函數(shù)**************************************/
int main()
{
float integral(float(*)(float), float, float, int);
float fsin(float);
float fcos(float);
float fexp(float);
float a1, b1, a2, b2, a3, b3, c, (*p)(float);//定義一個(gè)float類型的指針
int n = 20;
//輸入積分上下限
printf("enter a1,b1:\n");
scanf("%f%f", &a1, &b1);
printf("enter a2,b2:\n");
scanf("%f%f", &a2, &b2);
printf("enter a3,b3:\n");
scanf("%f%f", &a3, &b3);
p = fsin;//用float型指針指向fsin函數(shù)
c = integral(p, a1, b1, n);
printf("sin(x)=%f\n", c);
p = fcos;//用float型指針指向fcos函數(shù)
c = integral(p, a2, b2, n);
printf("cos(x)=%f\n", c);
p = fexp;//用float型指針指向exp函數(shù)
c = integral(p, a3, b3, n);
printf("exp(x)=%f\n", c);
return 0;
}
float integral(float(*p)(float), float a, float b, int n)
{
int i;
float x, h, s;
h = (b - a) / n;//牛頓萊布尼茨公式運(yùn)用
x = a;
s = 0;
for (i = 0; i < n; i++)
{
x = x + h;
s = s + (*p)(x)*h;
}
return (s);
}
float fsin(float x)
{
return sin(x);
}
float fcos(float x)
{
return cos(x);
}
float fexp(float x)
{
return exp(x);
}
總結(jié)
以上是生活随笔為你收集整理的c语言算ex自定义函数,用C语言写定积分的通用函数:sin(x),cos(x),eX.的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 楚乔传乌先生真实身份曝光 乌道涯结局为保
- 下一篇: 数据结构 算法与应用C 语言描述答案,数