本文实例讲述了C语言实现求定积分的方法。分享给大家供大家参考。具体实现方法如下:
代码如下:
#include <cmath>
#include <cstdio>
#define ACC 1000
float solve(float (*p)(float),float up,float down,int acc);
float fun_exp(float x);
float fun_qua(float x);
void main(){
char selection;
float up,down;
while(printf("请选择被积函数:\n"),printf("1、exp(x) 2、x+1 \n"),scanf("%c",&selection),selection != '#'){
printf("请输入积分上下限: ");
scanf("%f,%f",&up,&down);
switch(selection){
case '1':
printf("结果是: %4.4f\n",solve(fun_exp,up,down,ACC));
break;
case '2':
printf("结果是: %4.4f\n",solve(fun_qua,up,down,ACC));
break;
}
}
}
float solve(float (*p)(float),float up,float down,int acc){
float sum,base,area;
area = 0;
sum = 0;
base = (up-down)/acc;
for(int i=0; i
area = base*((*p)(down+i*base));
sum+=area;
}
return sum;
}
float fun_exp(float x){
return exp(x);
}
float fun_qua(float x){ //一元二次方程 quadratics
return x+1;
}
希望本文所述对大家的C语言程序设计有所帮助。
您可能感兴趣的文章:用C语言求幂函数和指数函数的方法使用c语言判断100以内素数的示例(c语言求素数)C语言经典算法例题求100-999之间的“水仙花数使用C语言求N的阶乘的方法C语言练习题:求1到10的阶乘之和简单实例详解C语言求两个数的最大公约数及最小公倍数的方法C语言求两个字符串的最长公共子串c语言求1+2+...+n的解决方法使用C语言实现最小生成树求解的简单方法C语言实现求梅森素数的代码与解析