请问这个程序错在哪?

joyzbk 2003-10-10 10:51:39
程序如下:

#include <stdio.h>
#include <math.h>
float y(float x)
{return pow(2,-x);
}

main()
{float x0,w,N,m;
int k;
scanf("N=%f,x0=$f,w=%f",N,x0,w);
x=x0;
for(k=1;k<=N;k++)
{x=x-(y(k)-x)*(y(k)-x)/(y(y(k))-2y(k)+x;
if (fabs(x-x0)<=w)
printf("%f",x);
x0=x;

}
...全文
39 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
努力偷懒 2003-10-10
  • 打赏
  • 举报
回复
唉.......抄书的还是自己写的?晕!
ssbull 2003-10-10
  • 打赏
  • 举报
回复
你的x没有定义,再说scanf()中应该传地址,而不是变量
daizh 2003-10-10
  • 打赏
  • 举报
回复
#include <stdio.h>
#include <math.h>
float y(float x)
{return pow(2,-x);
}

main()
{float x0,w,N,m;
int k;
scanf("N=%f,x0=$f,w=%f",N,x0,w);//应该传地址&N,&x0,&w
x=x0;//x没有定义
for(k=1;k<=N;k++)
{x=x-(y(k)-x)*(y(k)-x)/(y(y(k))-2y(k)+x;//这儿你给的不是太清楚
if (fabs(x-x0)<=w)
printf("%f",x);
x0=x;

}
}//漏了个}
Hot_Forever 2003-10-10
  • 打赏
  • 举报
回复
错误n多,缺少扩号,自己检查一下。
还有2y(k)这是什么?应该是2*y(k)吧
x未定义
此外还有一推warning 楼主啊,先自己好好改改吧
helloair 2003-10-10
  • 打赏
  • 举报
回复
另外,x也没定义,k<=N和y(k)类型不匹配
fierygnu 2003-10-10
  • 打赏
  • 举报
回复
scanf要求的参数是存储空间的地址。
fishinsea2003 2003-10-10
  • 打赏
  • 举报
回复
问一下 pow(2,-x)返回的是什么值?
fishinsea2003 2003-10-10
  • 打赏
  • 举报
回复
估计是作业题
zhp831221 2003-10-10
  • 打赏
  • 举报
回复
上机去调试吧,错误太多了

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧