标题:因为没有学过曲边梯形,所以请各位高手帮我看一下这道题
取消只看楼主
zhouxiangron
Rank: 2
等 级:论坛游民
帖 子:19
专家分:20
注 册:2010-7-9
结帖率:42.86%
已结贴  问题点数:20 回复次数:2 
因为没有学过曲边梯形,所以请各位高手帮我看一下这道题
(求曲边梯形的近似面积)给定一个连续函数y=f(x),在区间[a,b]上取正值,由直线y=0,x=a,x=b和曲线y=f(x)构成了一个曲边梯形。将区间[a,b]n等分,每一份长度为h,则
  area=h[f(a)+f(a+h)+f(a+2h)+.....+f(a+(n-1)h)]
为曲边梯形的近似面积。编写计算曲边梯形的近似面积的函数:
float area(float a,float b,int n,(*f)(float x))
f(x)可取为
(1)sinx (a=0,b=p,n=100)
(2)2x²-x+20(是x的平方)(a=1,b=10,n=100)
(3)e的方+1nx(a=1,b=10,n=100)

请教各位如何做这道题,20分送上,谢谢各位高手们了
搜索更多相关主题的帖子: 曲边 梯形 
2010-07-26 18:49
zhouxiangron
Rank: 2
等 级:论坛游民
帖 子:19
专家分:20
注 册:2010-7-9
得分:0 
神圣的论坛,人们都在奉献自己的爱。而你却开口要钱,要得那么的少,你混得也太差劲了。
2010-07-26 19:07
zhouxiangron
Rank: 2
等 级:论坛游民
帖 子:19
专家分:20
注 册:2010-7-9
得分:0 
那么请问这儿的两个return中应该填写什么,举个例子吧:
float f2(float x)
{return(...);}
float f3(float x)
{
return(...);
}

我现在写的代码是这样的:
#include<stdio.h>
#include<math.h>
float f1(float);
float f2(float);
float f3(float);
float area (float a,float b,int n,(*f)(float x));
void main()
{ int a,b;
  int n;
  printf("please input a:\n");
  scanf("%d",&a);
  printf("please input b:\n");
  scanf("%d",&b);
  printf("please input n:\n");
  scanf("%d",&n);
  printf("f1=");
  area(a,b,n,f1);
  printf("f2=");
  area(a,b,n,f2);
  printf("f3=");
  area(a,b,n,f3);
}
float area(float a,float b,int n,(*f)(float x))
{
float h=(b-a)/n;
float area=0.0;
x=a;
for(i=0;i<n;i++)
area+=(f(a+i*h)+f(a+(i+1)*h))*h/2;
}
float f1(float x)
{
return(sin(x));
}
float f2(float x)
{return(...);}
float f3(float x)
{
return(...);
}
不知道return中的怎么填
2010-07-26 20:08



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-314013-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.158361 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved