700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > c语言中矩形法求定积分

c语言中矩形法求定积分

时间:2023-08-04 11:06:57

相关推荐

c语言中矩形法求定积分

题目

用矩形法分别求函数y = sin(x)在函数[0,1]区间的定积分、y = cos(x)[-1, 1]区间的定积分、y = 5x^2^ + 6x + 7[1, 3]区间的定积分,要求编程时使用指向函数的指针变量。

#define _CRT_SECURE_NO_WARNINGS #include <stdio.h>#include <math.h>double fsin(double x){return sin(x);}double fcos(double x){return cos(x);}double fn(double x){return 5 * pow(x, 2) + 6 * x + 7;}double fun(double m, double n, double (*p)(double))/*函数fun求定积分*/{double h, sum = 0;/*计算p指向的函数的定积分*/h = fabs(n - m) / 1000;/*积分值等于1000个小矩形的面积之和*/for (int i = 0; i < 1000; i++){sum = sum + h * (*p)(m + i * h + h / 2);}return sum;}int main(){int k;while (1){printf("1. 计算函数y = sin(x)在[0,1]区间的定积分。\n");printf("2. 计算函数y = cos(x)在[-1,1]区间的定积分。\n");printf("3. 计算函数y = 5 * x^2 + 6 * x + 7在[1,3]区间的定积分。\n");printf("4. 结束程序!!!\n");printf("请输入你的选择:\n");scanf("%d", &k);if (k == 1)printf("函数y = sin(x)在[0,1]区间的定积分为:%lf。\n", fun(0, 1, fsin));else if (k == 2)printf("函数y = cos(x)在[-1,1]区间的定积分为:%lf。\n", fun(-1, 1, fcos));else if (k == 3)printf("函数y = 5 * x^2 + 6 * x + 7在[1,3]区间的定积分为:%lf。\n", fun(1, 3, fn));else if (k == 4){break;}else{printf("你的输入有误!!!\n");}printf("\n\n\n");}return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。