#include#includedouble integrate(double (*fun)(double),double a,double b,int n);
double my_fun(double x){
return x*x;
}
int main(){
double a,b;
int n;
printf("積分上限:a="); scanf("%lf",&a);
printf("積分下限:b="); scanf("%lf",&b);
printf("分割段數(shù):n="); scanf("%d",&n);
printf("sin函數(shù)積分值:%f\n",integrate(sin,a,b,n));
printf("cos函數(shù)積分值:%f\n",integrate(cos,a,b,n));
printf("x^2函數(shù)積分值:%f\n",integrate(my_fun,a,b,n));
return 0;
}
double integrate(double (*fun)(double),double a,double b,int n){
int i;
double h=(b-a)/n;
double sum=(fun(a)+fun(b))/2;
for(i = 1;i<= n-1;i++)
sum += fun(a+i*h);
sum = h*sum;
return sum;
}
PS:在Linux系統(tǒng)下使用gcc編譯通常會出現(xiàn)以下錯誤
wuyy@ubuntu:~$ gcc jifen.c -o jifen
/tmp/ccl4v1pg.o: In function `main':
jifen.c:(.text+0xb7): undefined reference to `sin'
jifen.c:(.text+0xeb): undefined reference to `cos'
collect2: error: ld returned 1 exit status
這通常是缺少數(shù)學庫而導致
這時只需要在編譯時手動加入gcc libm.so庫即可,如下:
wuyy@ubuntu:~$ gcc jifen.c -lm -o jifen
wuyy@ubuntu:~$ ./jifen
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調(diào)度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧