二分法编程问题求解,代码如下,但不能达到理想效果

smartdrvsky 2006-05-31 02:28:55
#include <math.h>
#include <stdio.h>
#define p 3.1415926
//#define f(x) exp(-x[0])-sin((p/2)*x[0]

main()
{
float c[20],a,b;
int i=0;

printf("请输入有根区间的起始和终止值a,b\n");
scanf("%f,%f",&a,&b);
c[0]=(a+b)/2;
if (exp(-a)-sin((p/2)*a)*(exp(-b)-cos((p/2)*b))<0)
{



for(i=0;i<5;i++)
{


if(exp(-c[i])-sin((p/2)*c[i])*(exp(-b)-sin((p/2)*b))<0)
{

a=c[i];
c[i]=(a+b)/2;


}
else
{

b=c[i];
c[i]=(a+b)/2;


}



while(b-a<0.00005)
printf("%f\n",c[i]);
}

}


}
...全文
124 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
jixingzhong 2006-05-31
  • 打赏
  • 举报
回复
while(b-a<0.00005)
printf("%f\n",c[i]);

汗,这个循环在干什么?要么循环无效,要么是死循环 ~

另外,楼主怎么在你的程序中那么多空行 ?
看着有点晕呼...

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧