永发信息网

程序出错了,C++

答案:2  悬赏:0  手机版
解决时间 2021-04-16 16:11
  • 提问者网友:人傍凄凉立暮秋
  • 2021-04-16 07:06

#include<iostream.h>
#include<math.h>
#define MAX 100
int main()
{
double a,b,x0,e,y;
e=0.0001;x0=1.3;
double *x=new double [MAX];
int k=0;
x[0]=x0;
cout<<x[0];
do{

for(int i=1;i<MAX;i++)
{
y=(pow(x[i],3)+1.0)/3.0;
x[i+1]=y;
a=x[i+1]-x[i];
b=x[i+1];
k++;
}
} while(fabs(a)>e);
cout<<b<<endl;
return 0;
}

最佳答案
  • 五星知识达人网友:从此江山别
  • 2021-04-16 08:15

我测试过,是有问题。x[1]是多少了?


x[1]根本没赋值,当然出现不可估计的结果。


for(int i=1;i<MAX;i++)改为for(int i=0;i<MAX;i++)


我得结果为0.347296,算法没认真看,答案不知正确不

全部回答
  • 1楼网友:你哪知我潦倒为你
  • 2021-04-16 08:41

少了一句 using namespace std;

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯