| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1923 人关注过本帖, 1 人收藏
标题:[程序纠错]截弦法解一元三次多项式,为什么输入之后按回车会不出结果!
取消只看楼主 加入收藏
S140131022
Rank: 2
来 自:重庆邮电大学
等 级:论坛游民
帖 子:205
专家分:35
注 册:2014-10-9
结帖率:90.24%
收藏(1)
已结贴  问题点数:15 回复次数:9 
[程序纠错]截弦法解一元三次多项式,为什么输入之后按回车会不出结果!
#include<stdio.h>
#include<math.h>
int main()
{
float root(float x1,float x2);
float xpoint(float x1,float x2);
float f(float x);
float y1,y2,x1,x2;
float x;
scanf("x1=%f,x2=%f",&x1,&x2);
y1=f(x1);
y2=f(x2);
if(y1*y2<0)
{
x=root(x1,x2);
printf("The root is %.2f",x);
}
else
{
printf("Please change the nums please!\n");
return 0;
}
}

float f(float x)
{
float y;
y=x*x*x-5*x*x+16*x-80;
return y;
}

float xpoint(float x1,float x2)
{
float f(float x);
float y1,y2;
float x;
x=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));
return x;
}

float root(float x1,float x2)
{
    float f(float x);
    float xpoint(float x1,float x2);
    float y1,y2,y,x;
    y1=f(x1);
    y2=f(x2);
//    if(y1*y2<0)
//    {
    x=xpoint(x1,x2);
    while(abs(f(x)<=1e-6))
    {
    if(f(x)*f(x1)>0)
    x1=x;
    else
    x2=x;
    x=xpoint(x1,x2);
    }
    return x;
//    }
//    else
//    {
//    printf("Please choose num again !");  已将此步骤于main函数内实现O(∩_∩)O~
//    return 0;
//    }

}
搜索更多相关主题的帖子: include change please return 多项式 
2015-03-30 22:06
S140131022
Rank: 2
来 自:重庆邮电大学
等 级:论坛游民
帖 子:205
专家分:35
注 册:2014-10-9
收藏
得分:0 
回复 2楼 wmf2014
弦截法是一种求方程根的基该方法,在计算机编程中常用。他的思路是这样的:任取两个数x1、x2,求得对应的函数值f(x1)、f(x2)。如果两函数值同号,则重新取数,直到这两个函数值异号为止。连接(x1,f(x1))与(x2,f(x2))这两点形成的直线与x轴相交于一点x,求得对应的f(x),判断其与f(x1)、f(x2)中的哪个值同号。如f(x)与f(x1)同号,则f(x)为新的f(x1)。将新的f(x1)与f(x2)连接,如此循环。体现的是极限的思想。

既然还有不甘心
就还没到放弃的时候~
2015-04-01 15:12
S140131022
Rank: 2
来 自:重庆邮电大学
等 级:论坛游民
帖 子:205
专家分:35
注 册:2014-10-9
收藏
得分:0 
回复 4楼 孤独的守候
......

既然还有不甘心
就还没到放弃的时候~
2015-04-01 15:15
S140131022
Rank: 2
来 自:重庆邮电大学
等 级:论坛游民
帖 子:205
专家分:35
注 册:2014-10-9
收藏
得分:0 
回复 3楼 执笔画江山
确实检查不出来~ 感觉和参考答案也没啥区别~ 就是输入不出来

既然还有不甘心
就还没到放弃的时候~
2015-04-01 15:15
S140131022
Rank: 2
来 自:重庆邮电大学
等 级:论坛游民
帖 子:205
专家分:35
注 册:2014-10-9
收藏
得分:0 
回复 10楼 执笔画江山
x1=2,x2=6
这是书上给出的参考数据,输入进去依旧没有反应~

既然还有不甘心
就还没到放弃的时候~
2015-04-01 22:16
S140131022
Rank: 2
来 自:重庆邮电大学
等 级:论坛游民
帖 子:205
专家分:35
注 册:2014-10-9
收藏
得分:0 
回复 28楼 jklqwe111
因为方程的根就是f(x)=0,所以f(x)<1e-6基本上就是方程的根了~ 也可以的吧

既然还有不甘心
就还没到放弃的时候~
2015-04-01 22:18
S140131022
Rank: 2
来 自:重庆邮电大学
等 级:论坛游民
帖 子:205
专家分:35
注 册:2014-10-9
收藏
得分:0 
回复 8楼 TonyDeng
我是按照参考答案输入的亮点x1=2,x2=6,所以这两点之间肯定有一个根

既然还有不甘心
就还没到放弃的时候~
2015-04-01 22:19
S140131022
Rank: 2
来 自:重庆邮电大学
等 级:论坛游民
帖 子:205
专家分:35
注 册:2014-10-9
收藏
得分:0 
回复 9楼 embed_xuel
我喜欢这样写~O(∩_∩)O~

既然还有不甘心
就还没到放弃的时候~
2015-04-01 22:19
S140131022
Rank: 2
来 自:重庆邮电大学
等 级:论坛游民
帖 子:205
专家分:35
注 册:2014-10-9
收藏
得分:0 
  参考空间x1=2,x2=6

既然还有不甘心
就还没到放弃的时候~
2015-04-01 22:23
S140131022
Rank: 2
来 自:重庆邮电大学
等 级:论坛游民
帖 子:205
专家分:35
注 册:2014-10-9
收藏
得分:0 
回复 34楼 embed_xuel
对了哟~ 就是这个错误!

既然还有不甘心
就还没到放弃的时候~
2015-04-02 18:57
快速回复:[程序纠错]截弦法解一元三次多项式,为什么输入之后按回车会不出结果! ...
数据加载中...
 
   



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

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