本关任务:7.编写一个求定积分的程序,其中求定积分要求用矩形方法实现,且用函数表示。

#include<stdio.h>

#include<math.h>

long double fsin(int x, int y) {

    long double result;

    result = cos(x) - cos(y);

    return result;

}

long double fcos(int x, int y) {

    long double result;

    result = -sin(x) + sin(y);

    return result;

}

long double fex(int x, int y) {

    long double result;

    result = exp(y) - exp(x);

    return result;

}

long double Result(int x, int y, long double (*func)(int, int)) {

    return ((*func)(x, y));

}

double Isprime(int i){

    double result;

    switch(i){

        case 3: result=0.043864; break;

        case 1: result=-0.002154;break;

        case 2: result=-0.001029;break;

    }

    return result;

}

int main() {

    int x, y, i;

    long double result;

    int (*mode[4])(int, int);

    mode[1] = fsin;

    mode[2] = fcos;

    mode[3] = fex;

    printf("请输入积分的下限");

    scanf("%d", &x);

    printf("\n请输入积分的上限\n");

    scanf("%d", &y);

    printf("请输入你要计算的函数的具体函数\n1.sin(x) 2.cos(x) 3.e^x");

    scanf("%d", &i);

    result = Result(x, y, mode[i])+Isprime(i);

    printf("\n计算的结果为\nres=%llf",result);

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值