P290.13 实验报告 指针求定积分

#include<stdio.h>

#include<math.h>

double f1(float a,float b)

{   int i;

double result,h,l;

double sum=0;

l=(a-b)/1000;

for(i=0;i<1000;i++)

{   h=sin(b+l*i)+sin(b+l*(i++));

result=h*l;

sum+=result;  }

return sum; }

double f2(float a,float b)

{   int i;

double result,h,l;

double sum=0;

l=(a-b)/1000;

for(i=0;i<1000;i++)

{   h=cos(b+l*i)+cos(b+l*(i++));

result=h*l;

sum+=result;  }

return sum; }

double f3(float a,float b)

{   int i;

double result,h,l;

double sum=0;

l=(a-b)/1000;

for(i=0;i<1000;i++)

{   h=exp(b+l*i)+exp(b+(l*(i++)));

result=h*l;

sum+=result;  }

return sum; }

double f4(float a,float b)

{   int i;

double result,h,l;

double sum=0;

l=(a-b)/1000;

for(i=0;i<1000;i++)

{   h=1+(b+i*l)*(b+i*l)+1+(b+l*(i++))*(b+l*(i++));

result=h*l;

sum+=result;  }

return sum; }

double f5(float a,float b)

{  int i;

double result,h,l;

double sum=0;

l=(a-b)/1000;

for(i=0;i<1000;i++)

{   h=exp(b+l*i)+exp(b+((i++)*l))+2;

result=h*l;

sum+=result;  }

return sum; }

double f6(float a,float b)

{   int i;

double result,h,l;

double sum=0;

l=(a-b)/1000;

for(i=0;i<1000;i++)

{   h=(2*(b+l*i)+2+2*(b+l*(i++))+2);

result=h*l;

sum+=result;  }

return sum; }

double f7(float a,float b)

{  int i;

double result,h,l;

double sum=0;

l=(a-b)/1000;

for(i=0;i<1000;i++)

{   h=(1+b+l*i)+(1+b+l*(i++));

result=h*l;

sum+=result;  }

return sum; }

double f8(float a,float b)

{  int i;

double result,h,l;

double sum=0;

l=(a-b)/1000;

for(i=0;i<1000;i++)

{   h=(b+i)*(b+i*l)*(b+i*l)+(b+l*(i++))*(b+l*(i++))*(b+l*(i++));

result=h*l;

sum+=result;  }

return sum; }

void intergrat(float a,float b,double (*fun)(float,float))

{  printf("the result is %.2lf\n",(*fun)(a,b)); }

int main()

{  int c;

float a,b;

double num;

double (*p)(float,float);

puts("1 (sinx)\n2 (cosx)\n3 (e^x)\n4 (1+x^2)\n5 (e^x+1)\n6 (2*x+3)\n7 (1+x)\n8 (x^3)\n");

to:

printf("please enter a b\n");

scanf("%f%f",&a,&b);

printf("a=%f,b=%f\n",a,b);

fflush(stdin);

printf("choose a number to use function\n");

scanf("%d",&c);

switch(c)

{

case 1:p=f1;intergrat(a,b,p);break;

case 2:p=f2;intergrat(a,b,p);break;

case 3:p=f3;intergrat(a,b,p);break;

case 4:p=f4;intergrat(a,b,p);break;

case 5:p=f5;intergrat(a,b,p);break;

case 6:p=f6;intergrat(a,b,p);break;

case 7:p=f7;intergrat(a,b,p);break;

case 8:p=f8;intergrat(a,b,p);break;

default:printf("inlegal number please try again!\n");  }

printf("\nNow you can use another function\n");

goto to;

return 0; }

时间: 2024-10-27 05:57:01

P290.13 实验报告 指针求定积分的相关文章

13计本人工智能实验报告

          贵州师范大学计算机科学与技术 实验报告               课程名称:人工智能         班级:13计本     实验日期:2016-4-27 学号:136201010507    姓名:任廷婷      成绩: 一·实验名称 线性回归预测系统 二·实验目的及要求 理解和掌握线性回归预测的基本方法,能够编程实现简单的线性回归预测系统 1.熟悉matlab 2.线性回归预测函数,代价函数的预测和实现 3.使用梯度下降算法进行参数学习 三·实验工具 Matlab,O

第八章指针实验报告

C程序实验报告 姓名:韦小闻     实验地点:第一教学楼514教室     实验时间:6月12日 实验项目 1.指针基础及指针运算 2.数据交换 3.字符串反转及字符串连接 4.数组元素奇偶排列 一.实验目的与要求 1.指针基础及指针运算 ●本实验旨在加强学生对指针数据类型的理解,熟悉指针的定义.通过指针间接访问变量. 2.数据交换 ●本实验旨在加强学生对指针类型作为函数参数传递的理解,通常将实参传递给形参时,有两种方式,即按值传递和按地址传递,其中指针类型参数即是按地址传递. 3.字符串反转

C++实验报告一

实验一 C++基础的应用 (实验课时:2  实验性质:设计) 实验名称:  C++基础的应用 实验目的: (1)进一步学习VC++6.0开发环境及程序调试方法. (2)练习C++函数的定义及使用: (3)练习C++数组的定义及使用: (4)练习C++指针的定义及使用: (5)练习C++结构体的定义及使用: (6)练习多文件的程序的编译和运行方法: 实验设备: (1)硬件:个人微机(配置不低于:CPU为P4,主频1.6G,内存256MB,硬盘40GB): (2)软件:操作系统为WindowsXP(

第六章 实验报告(函数与宏定义)2

C程序设计实验报告 实验项目:函数和宏定义实验 姓名:罗子健 实验地点:物联网实验室 实验时间:2019年5月16日 一.实验目的与要求 (1)掌握函数定义方法和调用规则. (2)掌握在C语言程序中主调函数和被调用函数之间进行数据传递的规则. (3)了解函数的返回值及其类型,并正确使用它. (4)了解局部变量和全局变量的作用域及它们与储存分类的关系,理解变量的存在性和可变性的概念. (5)练习递归函数的使用. (6)理解宏的概念,掌握定义无参宏和带参宏的方法.了解文件包含的概念,掌握其用法. (

数据结构与算法 第四次实验报告 图

数据结构与算法 第四次实验报告 姓名:许恺 学号:2014011329 班级:计算机14-1     中国石油大学(北京)计算机科学与技术系 1.图的定义,文件为"Graph.h" #ifndef GRAPH_H//定义头文件 #define GRAPH_H #include<string>//引入标准库中的头文件 using namespace std; const int MaxSize=12; struct ArcNode//定义边表结点 { int adjvex;/

实验二 实验报告

实验二 作业调度模拟程序 13物联网  陈梓帆  201306104108 一.目的和要求 1. 实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 2.实验要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素. 作业调度算法: 1) 采用先来先服务(FCFS)调度算法,即按作业到达的先后次序进行调度.总是首先调度在系统

有理数四则运算的实验报告小结

一.实验报告内容: 设计抽象数据类型有理数的描述 (有理数是其分子.分母均为整数且分母不为零的分数). 有理数主要数据运算有: 1.       构造有理数T,元素e1,e2分别被赋以分子.分母值 2.       销毁有理数T 3.       用e返回有理数T的分子或分母,i=1返回分子, i=2返回分母. 4.       改变有理数T的分子或分母为e,i=1改变分子, i=2改变分母 5.       有理数T1,T2相加,结果存入有理数T3 6.       有理数T1,T2相减,结果

实验报告:统计字符串中子字符串出现的次数

实验报告 源程序: 1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 int cntstring(char *source,char *substr); 5 void main() 6 { 7 char str1[50],str2[20]; //str1 为主字符串,str2 为子字符串 8 cout<<"input source string:"; 9 cin.get

20135239 第一次实验报告

实验报告 一.实验内容 1. 使用JDK编译.运行简单的Java程序 2. 使用Eclipse 编辑.编译.运行.调试Java程序 要求: 完成实验.撰写实验报告 统计PSP时间 二.实验过程 使用JDK编译.运行简单的Java程序 1.进入实验环境后,打开Xfce终端.其作用类似于cmd命令行,用于打开和执行某些程序. 2.输入cd java0217->mkdir 20135239->cd 20135239->mkdir expel1->cd expel1->gedit H