欢迎来到代码驿站!

C代码

当前位置:首页 > 软件编程 > C代码

C语言:利用指针编写程序,用梯形法计算给定的定积分实例

时间:2021-05-16 09:38:44|栏目:C代码|点击:

题目要求

利用指针编写程序,用梯形法计算下列公式中的定积分:

参考代码

首先说明一下指针的用处:因为所传递的参数均为数字,并不需要使用指针提高效率,故这里使用指针指向函数。

请注意calc()函数中的这一语句:

double(*pfunction)() = &function;

即实现了我所描述的过程。

代码如下:

#include <stdio.h>
#include <math.h>

double function(double x){
  return (double)(pow(x,3) + x/2 + 1);
}

double calc(double a, double b){
  double ha, hb, result=0;
  int i;
  double(*pfunction)() = &function; 
  for(i=0; i<1000; i++){
    ha = (*pfunction)(a+i*(b-a)/1000.0);
    hb = (*pfunction)(a+(i+1)*(b-a)/1000.0);
    result += ((ha + hb)*(b-a)/1000.0)/2.0;
  }
  return result;
}

void main(){
  double a = 0, b = 10, result;
  result = calc(a, b);
  printf("%lf", result);
}

运行结果

【输出】

2535.002500

与实际值2535并无太大差距。若想提高精确度可进一步提高微元分段的数量。

上一篇:C语言实现小学生计算机辅助教学系统

栏    目:C代码

下一篇:jquery ready函数深入分析

本文标题:C语言:利用指针编写程序,用梯形法计算给定的定积分实例

本文地址:http://www.codeinn.net/misctech/122654.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有