用C语言写定积分的通用函数:sin(x),cos(x),eX.

简介: 用C语言写定积分的通用函数:sin(x),cos(x),eX.
#include<stdio.h>
/************************************************************/
/*sin,cos,exp函数已经存在于系统的数学函数库中,程序开头需要定义math头文件*/
/************************************************************/
#include<math.h>
/****************主函数**************************************/
int main()
{
  float integral(float(*)(float), float, float, int);
  float fsin(float);
  float fcos(float);
  float fexp(float);
  float a1, b1, a2, b2, a3, b3, c, (*p)(float);//定义一个float类型的指针
  int n = 20;
  //输入积分上下限
  printf("enter a1,b1:\n");
  scanf("%f%f", &a1, &b1);
  printf("enter a2,b2:\n");
  scanf("%f%f", &a2, &b2);
  printf("enter a3,b3:\n");
  scanf("%f%f", &a3, &b3);
 
  p = fsin;//用float型指针指向fsin函数
  c = integral(p, a1, b1, n);
  printf("sin(x)=%f\n", c);
 
  p = fcos;//用float型指针指向fcos函数
  c = integral(p, a2, b2, n);
  printf("cos(x)=%f\n", c);
 
  p = fexp;//用float型指针指向exp函数
  c = integral(p, a3, b3, n);
  printf("exp(x)=%f\n", c);
  return 0;
}
float integral(float(*p)(float), float a, float b, int n)
{
  int i;
  float x, h, s;
  h = (b - a) / n;//牛顿莱布尼茨公式运用
  x = a;
  s = 0;
  for (i = 0; i < n; i++)
  {
    x = x + h;
    s = s + (*p)(x)*h;
  }
  return (s);
}
float fsin(float x)
{
  return sin(x);
}
float fcos(float x)
{
  return cos(x);
}
float fexp(float x)
{
  return exp(x);
}
目录
相关文章
|
1天前
|
C语言 C++
C语言 之 内存函数
C语言 之 内存函数
10 3
|
1天前
|
C语言
c语言回顾-函数递归(上)
c语言回顾-函数递归(上)
20 2
|
3天前
|
Java 编译器 C语言
【一步一步了解Java系列】:Java中的方法对标C语言中的函数
【一步一步了解Java系列】:Java中的方法对标C语言中的函数
12 3
|
6天前
|
存储 程序员 编译器
C语言——动态内存管理与内存操作函数
C语言——动态内存管理与内存操作函数
|
6天前
|
C语言
C语言字符(串)函数
C语言字符(串)函数
|
7天前
|
C语言
C语言函数返回值详解
本文详细解析了C语言中函数返回值的概念与应用。从函数的基本定义入手,深入探讨了不同类型返回值的作用及意义,并提供了实用的编程示例,帮助读者更好地理解和使用函数返回值。通过本文,你将掌握如何有效利用返回值优化代码结构与功能实现。
|
10天前
|
算法 搜索推荐 C语言
【C语言篇】深入理解指针4(模拟实现qsort函数)
【C语言篇】深入理解指针4(模拟实现qsort函数)
17 2
|
10天前
|
C语言
【C语言】探索文件读写函数的全貌(三)
【C语言】探索文件读写函数的全貌
|
1天前
|
C语言
C语言函数
C语言函数
6 0
|
1天前
|
C语言 C++
c语言回顾-内存操作函数
c语言回顾-内存操作函数
9 0