C语言编程例题:用二分法求方程的解
方程为:2*x^3-4*x^2+3*x-6=0我是C新手,编了如下的程序:#include<stdio.h>#include<math.h>voidmain(){floa...
方程为:2*x^3-4*x^2+3*x-6=0
我是C新手,编了如下的程序:
#include <stdio.h>
#include <math.h>
void main()
{
float c,d,f,a,b;
a=-10;b=10;
while (fabs(a-b)>=0.000001)
{
c=(a+b)/2;
d=2*a*a*a-4*a*a+3*a-6;
f=2*c*c*c-4*c*c+3*c-6;
if (f=0) goto loop;
else if (f*d>0) (a=c,d=f);
else b=c;
}
loop:printf("%f",c);
}
执行后给出的答案是-9.9999,明显不对,不知道程序错在哪,求指教。 展开
我是C新手,编了如下的程序:
#include <stdio.h>
#include <math.h>
void main()
{
float c,d,f,a,b;
a=-10;b=10;
while (fabs(a-b)>=0.000001)
{
c=(a+b)/2;
d=2*a*a*a-4*a*a+3*a-6;
f=2*c*c*c-4*c*c+3*c-6;
if (f=0) goto loop;
else if (f*d>0) (a=c,d=f);
else b=c;
}
loop:printf("%f",c);
}
执行后给出的答案是-9.9999,明显不对,不知道程序错在哪,求指教。 展开
展开全部
#include <stdio.h>
#include <math.h>
void main()
{
float c,d,f,a,b;
a=-10;b=10;
while (fabs(a-b)>=0.000001)
{
c=(a+b)/2;
d=2*a*a*a-4*a*a+3*a-6;
f=2*c*c*c-4*c*c+3*c-6;
if (f==0) goto loop;//
else if (f*d>0) a=c;//
else b=c;
}
loop:printf("%f",c);
}
#include <math.h>
void main()
{
float c,d,f,a,b;
a=-10;b=10;
while (fabs(a-b)>=0.000001)
{
c=(a+b)/2;
d=2*a*a*a-4*a*a+3*a-6;
f=2*c*c*c-4*c*c+3*c-6;
if (f==0) goto loop;//
else if (f*d>0) a=c;//
else b=c;
}
loop:printf("%f",c);
}
展开全部
if (f=0) goto loop;
这一句有问题,等于符号是:"==".
"="这是赋值号
这一句有问题,等于符号是:"==".
"="这是赋值号
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
#include <math.h>
void main()
{
float x0,x1,x2,fx0,fx1,fx2;
do
{
printf("Enter x1,x2:");
scanf("%f%f",&x1,&x2);
fx1=x1*((2*x1-4)*x1+3)-6;
fx2=x2*((2*x2-4)*x2+3)-6;
}while(fx1*fx2>0);
do
{
x0=(x1+x2)/2;
fx0=x0*((2*x0-4)*x0+3)-6;
if((fx0*fx1)<0)
{
x2=x0;
fx2=fx0;
}
else
{
x1=x0;
fx1=fx0;
}
}
while(fabs(fx0)>=1e-5);
printf("x=%6.2f\n",x0);
}
#include <math.h>
void main()
{
float x0,x1,x2,fx0,fx1,fx2;
do
{
printf("Enter x1,x2:");
scanf("%f%f",&x1,&x2);
fx1=x1*((2*x1-4)*x1+3)-6;
fx2=x2*((2*x2-4)*x2+3)-6;
}while(fx1*fx2>0);
do
{
x0=(x1+x2)/2;
fx0=x0*((2*x0-4)*x0+3)-6;
if((fx0*fx1)<0)
{
x2=x0;
fx2=fx0;
}
else
{
x1=x0;
fx1=fx0;
}
}
while(fabs(fx0)>=1e-5);
printf("x=%6.2f\n",x0);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
建议不要用goto转向语句
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询