声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1263|回复: 1

[C/C++] [求助]请帮忙看一下!

[复制链接]
发表于 2008-1-22 14:54 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
下面的C语言程序牛顿法求非线形方程的一个实根.
请问这两个程序在Visual Studio 6.0环境下 如何处理 才能正常运行?

注意:这里有个头文件 #include "dnewt.c".

程序1:

  #include "math.h"
  #include "stdio.h"
  #include "dnewt.c"
main()
  { int js,k;
    double x,eps;
    eps=0.000001; js=60; x=1.5;
    k=dnewt(&x,eps,js);
    if (k>=0)
      printf("k=%d  x=%13.7e\n",k,x);
    printf("\n");
  }
  void dnewtf(x,y)
  double x,y[2];
  { y[0]=x*x*(x-1.0)-1.0;
    y[1]=3.0*x*x-2.0*x;
    return;
  }


程序2:

  #include "stdio.h"
  #include "math.h"
  int dnewt(x,eps,js)
  int js;
  double *x,eps;
  { extern void dnewtf();
    int k,l;
    double y[2],d,p,x0,x1;
    l=js; k=1; x0=*x;
    dnewtf(x0,y);
    d=eps+1.0;
    while ((d>=eps)&&(l!=0))
      { if (fabs(y[1])+1.0==1.0)
          { printf("err\n"); return(-1);}
        x1=x0-y[0]/y[1];
        dnewtf(x1,y);
        d=fabs(x1-x0); p=fabs(y[0]);
        if (p>d) d=p;
        x0=x1; l=l-1;
      }
    *x=x1;
    k=js-l;
    return(k);
  }

[ 本帖最后由 li343 于 2008-1-22 14:56 编辑 ]
回复
分享到:

使用道具 举报

发表于 2008-1-29 15:29 | 显示全部楼层
有什么提示?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-5-11 22:31 , Processed in 0.046866 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表