| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 278 人关注过本帖
标题:我的弦截法求大神拯救
只看楼主 加入收藏
okauld
Rank: 1
等 级:新手上路
帖 子:3
专家分:2
注 册:2012-10-30
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
我的弦截法求大神拯救
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
float f(float x)
{
    float y;
    y=((x-5.0)*x+16.0)*x-80.0;
    return y;
}
  
  
float xpoint(float x1,float x2)
{
    float x;
    x=(x1*f(x2)-x2*(x1))/(f(x2)-f(x1));
    return x;
}

float root(float x1,float x2)
{
    float x,y,y1;
    y1=f(x1);
    do
      {
          x=xpoint(x1,x2);
          y=f(x);
          if(y*y1>0)
            {
                y1=y;
                x1=x;
            }
           else
              x2=x;
      }
      while(fabs(y)>=0.0001);
      return x;
}

int main()
{
    float x1,x2,f1,f2,x;
    do
      {
          printf("input x1,x2:\n");
          scanf("%f,%f",&x1,&x2);
          f1=f(x1);
          f2=f(x2);
      }
    while(f1*f2>=0);
    x=root(x1,x2);
    printf("A root of equation is %8.4f\n",x);
    system("pause");
    return 0;
}                  
搜索更多相关主题的帖子: include return 
2012-11-06 12:25
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9008
专家分:53957
注 册:2011-1-18
收藏
得分:20 
快速一览
x=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));

为什么用float,而不是double?
2012-11-06 14:10
快速回复:我的弦截法求大神拯救
数据加载中...
 
   



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

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