C語言:利用指針編寫程序,用梯形法計(jì)算給定的定積分實(shí)例
題目要求
利用指針編寫程序,用梯形法計(jì)算下列公式中的定積分:
參考代碼
首先說明一下指針的用處:因?yàn)樗鶄鬟f的參數(shù)均為數(shù)字,并不需要使用指針提高效率,故這里使用指針指向函數(shù)。
請注意calc()函數(shù)中的這一語句:
double(*pfunction)() = &function;
即實(shí)現(xiàn)了我所描述的過程。
代碼如下:
#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); }
運(yùn)行結(jié)果
【輸出】
2535.002500
與實(shí)際值2535并無太大差距。若想提高精確度可進(jìn)一步提高微元分段的數(shù)量。
以上這篇C語言:利用指針編寫程序,用梯形法計(jì)算給定的定積分實(shí)例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
C++ 操作系統(tǒng)內(nèi)存分配算法的實(shí)現(xiàn)詳解
本文主要介紹了在動態(tài)分區(qū)管理方式下采用不同的分配算法實(shí)現(xiàn)主存分配和實(shí)現(xiàn)主存回收,旨在幫助學(xué)生理解在動態(tài)分區(qū)管理方式下應(yīng)怎樣實(shí)現(xiàn)主存空間的分配和回收。感興趣的可以了解一下2021-11-11C++使用標(biāo)準(zhǔn)庫實(shí)現(xiàn)事件和委托以及信號和槽機(jī)制
這篇文章主要為大家詳細(xì)介紹了C++如何使用標(biāo)準(zhǔn)庫實(shí)現(xiàn)事件和委托以及信號和槽機(jī)制,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,需要的可以參考一下2022-11-11Qt中網(wǎng)絡(luò)編程的實(shí)現(xiàn)
本文主要介紹了Qt中網(wǎng)絡(luò)編程的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-02-02