C语言:利用指针编写程序,用梯形法计算给定的定积分实例
2020-03-11 17:51
615 查看
题目要求
利用指针编写程序,用梯形法计算下列公式中的定积分:
参考代码
首先说明一下指针的用处:因为所传递的参数均为数字,并不需要使用指针提高效率,故这里使用指针指向函数。
请注意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语言】自己编写程序实现strchr函数。即在给定字符串中找特定的字符并返回该处指针。
- 5.7 编写一个程序,其中有一个函数指针*parea,通过它分别指向计算圆的面积函数 circle 和矩形面积函数 rect 来计算给定圆的面积和矩形面积。
- C++:利用如下公式,编写函数计算∏的值,直到最后一项的绝对值小于e,主程序接收从键盘输入的e,输出∏的值(保留5位小数)。 ∏/4 = 1-1/3+1/5-1/7...
- 利用字符串指针编写以程序求所有不超过200的N值,N的平方是具有对称性的回文数
- C语言编写的计算两个日期之间天数的程序
- c语言利用指针计算字符串的长度
- 今天开始学Java 给定一个正整数,编写程序计算有多少对质数的和等于输入的这个正整数,并输出结果。
- Windows平台下GCC编程之从键盘输入10名学生的C语言成绩存入一维数组内,编写程序计算10名学生的最高分、平均分和及格人数
- C语言:利用指针和函数调用编写字符串拷贝函数strcpy
- C语言编写银行打印程序实例参考
- 谁能跟我编写一个程序(C语言)题目是编写一个函数计算sum(n)=1+2+3+。。。+n(n&gt;=1)
- 1、通过程序设计几何图形(Shape)、矩形(Rectangle)、圆形(Circle)、正方形(Square)几种类型,能够利用接口和多态性计算几何图形的面积和周长并显示。 2、按以下要求编写程序
- C语言练习笔记:计算日期程序编写
- C语言中利用位运算和指针实现的交换两个数的程序
- 用C语言指针编写判断是否为回文字符串的程序
- C语言:利用指针和函数调用编写字符串拷贝函数strcpy
- C语言编写程序计算圆上的点的坐标
- 利用Lucene编写的文档向量相似度计算程序
- 【C语言】自己编写程序实现strrchr函数,即在给定字符串中找特定的字符并返回最后出现的位置
- 用C语言实现:将数组A中的和数组B中的内容进行交换;计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值;编写程序数一下1到100整数中数字9出现的次数