/*
作业:
编写一个求定积分的通用函数,用它分别求以下几个积分:
double integral(double a, double b, double (*f)(double));
*/
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
double one(double x);
double two(double x);
double integral(double a, double b, double (*f)(double));/*
该题流程是这样的,首先定义一个指针数组,每一个数组元素都是一个返回值为double类型
参数为double类型的函数,
通过输入的C的值,用P[C]
来指示现在数组中的指针指向哪个函数,然后通过
integral 函数返回得到的数值
*/
void main(void)
{
int a;
int b;
int c;
double (*p[2])(double x)={one,two};
scanf("%d %d %d",&a,&b,&c);
printf("%lf\n",integral(a,b,p[c]));
}
double one(double x)
{
return ((x*x)/2+(x*x*x)/3);
}
double two(double x)
{
return(1.5*(x*x)+(2/3)*(x*x*x));
}
double integral(double a, double b, double (*f)(double))
{
return f(b)-f(a);
}

本文介绍如何在C语言中编写一个通用的定积分计算函数。通过定义一个函数指针数组,可以根据输入的选择调用不同的被积函数,如one(x)和two(x),并利用integral函数计算指定区间的定积分。
最低0.47元/天 解锁文章
1429

被折叠的 条评论
为什么被折叠?



