搜索
查看: 1674|回复: 3
打印 上一主题 下一主题

这是个用弦截法求函数根的程序,只是我编译运行不起来

[复制链接]
跳转到指定楼层
楼主
发表于 2013-4-15 13:44:17 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
float f(float x)
{
float y;
    y=((x-5)*x+16)*x-80;
    return y;
}
float xpoint(float x1,float x2)
{
float y;
    y=(x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));
    return y;
}
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)
        {x1=x;y1=y;}
        else
        {x2=x;y2=y;}
    }
    while(fabs(y)>=0.0001);
    return x;
}
void main()
{
float x1,x2,f1,f2,x;
    do
    {
  printf("请输入x1,x2:\n");
        scanf("%f,%f",&x1,&x2);
        f1=f(x1);
        f2=f(x2);
    }
    while(f1*f2>=0);
    x=root(x1,x2);
    printf("函数的根为%8.4f\n",x);
system("pause");
return 0;
}


哪位大大帮我查一下到底哪里出错了。万分感谢

最佳答案

查看完整内容

root里y2没定义,所以通过不了编译
沙发
发表于 2013-4-15 13:44:18 | 只看该作者
root里y2没定义,所以通过不了编译
板凳
 楼主| 发表于 2013-4-15 16:20:52 | 只看该作者
rosynirvana 发表于 2013-4-15 14:53
root里y2没定义,所以通过不了编译

没用,y2定义了以后还是没用。 我给你看一下提示吧

{5792196C-0EF2-4C9C-85E9-99242EEC8A8C}.jpg (155.91 KB, 下载次数: 25)

{5792196C-0EF2-4C9C-85E9-99242EEC8A8C}.jpg
地板
 楼主| 发表于 2013-4-15 16:46:24 | 只看该作者
rosynirvana 发表于 2013-4-15 14:53
root里y2没定义,所以通过不了编译

我已经自己找到为什么。
是因为软件没有自动生成文件。
不过还是谢谢你啊  老兄
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表