主题: [求助]C/C++容易犯的错误,请大家帮忙
精华帖 (0)   良好帖 (0)   新手帖(0)   垃圾帖 (0)      收藏
  • 小偶 我现在不在线,你找我吗?
  • 显示默认头像
  • 昵称:小偶
  • 专家等级:新手上路
  • 专家分:0
  • 可用分等级:佃户
  • 精华:0
  • 帖子数:5
  • 结帖率: 100%
  • 注册时间:2007-03-25 13:19:00
发表于 2007-05-29 15:39:00
楼主

 [求助]C/C++容易犯的错误,请大家帮忙

用C写了个用梯形法求定积分的程序

编译能通过,可用具体实例时出现奇妙数字,

初步怀疑是数字类型转换引起的错误,请大家帮忙!

#include <stdio.h> #include <math.h> #include <stdlib.h>

void main( ) { float integral(float (*p)(float),float a, float b,int n); float (*p)(float)=NULL; float a,b,c; float fsin(float); float fcos(float); float fexp(float); int n=10; printf("Input a , b:"); scanf("%f,%f",&a,&b); p=fsin; c=integral(p,a,b,n); printf("The integral of sin(x) is:%f\n",c); p=fcos; c=integral(p,a,b,n); printf("The integral of cos(x) is:%f\n",c); p=fexp; c=integral(p,a,b,n); printf("The integral of exp(x) is:%f\n",c);

}

float integral(float (*p)(float),float a, float b,int n) { float s,h; s=0; h=(b-a)/n; for(int i=0;i<n;i++) { s=s+((*p)(a+i*h)+(*p)(a+(i+1)*h))*h/2; }

return(s); }

float fsin(float x) { return (float)sin((float)x); }

float fcos(float x) { return (float)cos((float)x); }

float fexp(float x) { return (float)exp((float)x); }

[align=right][color=#000066][此贴子已经被作者于2007-5-29 15:41:00编辑过][/color][/align]

  • 小偶 我现在不在线,你找我吗?
  • 显示默认头像
  • 昵称:小偶
  • 专家等级:新手上路
  • 专家分:0
  • 可用分等级:佃户
  • 精华:0
  • 帖子数:5
  • 结帖率: 100%
  • 注册时间:2007-03-25 13:19:00
发表于 2007-05-29 15:40:00
第 1 楼

 

希望大家能帮忙解决!谢谢了!

  • 单飞 我现在不在线,你找我吗?
  • 显示默认头像
  • 昵称:单飞
  • 专家等级:新手上路
  • 专家分:0
  • 可用分等级:佃户
  • 精华:0
  • 帖子数:10
  • 结帖率: 100%
  • 注册时间:2007-05-19 15:30:00
发表于 2007-05-31 17:56:00
第 2 楼

 

一点注释 都没有 让别人怎么看啊 ?

  • x7326217 我现在不在线,你找我吗?
  • 显示默认头像
  • 昵称:x7326217
  • 专家等级:新手上路
  • 专家分:0
  • 可用分等级:佃户
  • 精华:0
  • 帖子数:3
  • 结帖率: 100%
  • 注册时间:2007-04-17 12:48:00
发表于 2007-06-07 12:07:00
第 3 楼

 

就是就是,没有注释


快速回复主题
您还未登录,不能回复帖子
phome.asia   程序员之家论坛
程序员之家 版权所有 Copyright 2004-2009 All Rights Reserved©2009 京 ICP 备 05027197 号 网站地图 关于我们 联系我们