啊哈磊_编程从这里起步

标题: 这是个用弦截法求函数根的程序,只是我编译运行不起来 [打印本页]

作者: 一尾鱼    时间: 2013-4-15 13:44
标题: 这是个用弦截法求函数根的程序,只是我编译运行不起来
#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;
}


哪位大大帮我查一下到底哪里出错了。万分感谢
作者: rosynirvana    时间: 2013-4-15 13:44
root里y2没定义,所以通过不了编译
作者: 一尾鱼    时间: 2013-4-15 16:20
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
rosynirvana 发表于 2013-4-15 14:53
root里y2没定义,所以通过不了编译

我已经自己找到为什么。
是因为软件没有自动生成文件。
不过还是谢谢你啊  老兄




欢迎光临 啊哈磊_编程从这里起步 (https://bbs.codeaha.com/) Powered by Discuz! X3.2