我的这个求一元二次方程根的C程序错在哪里呀?
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/17 23:34:43
我的这个求一元二次方程根的C程序错在哪里呀?
#include
#include
void main()
{
float a,b,c,disc;
double p,q,x,x1,x2,m;
printf("请输入a,b,c的值:\n");
scanf("%f %f %f",&a,&b,&c);
if(a=0)
{
x=-c/b;
printf("方程为一次,有一个实根:x=%.2f\n",x);
}
else
{
disc=b*b-(4*a*c);
p=-b/(2*a);
m=fabs(disc);
q=sqrt(m)/(2*a);
if(disc==0)
{
x=p;
printf("方程为二次,有一个实根:x=%.2f\n",x);
}
else
{ if(disc>0)
{
x1=p+q;
x2=p-q;
printf("方程为二次,有两实根:x1=%.2f x2=%.2f\n",x1,x2);
}
else
printf("方程为二次,有两虚根:x1=%.2f+%.2fi,x2=%.2f+%.2fi\n",p,q,p,q);
}
}
}
#include
#include
void main()
{
float a,b,c,disc;
double p,q,x,x1,x2,m;
printf("请输入a,b,c的值:\n");
scanf("%f %f %f",&a,&b,&c);
if(a=0)
{
x=-c/b;
printf("方程为一次,有一个实根:x=%.2f\n",x);
}
else
{
disc=b*b-(4*a*c);
p=-b/(2*a);
m=fabs(disc);
q=sqrt(m)/(2*a);
if(disc==0)
{
x=p;
printf("方程为二次,有一个实根:x=%.2f\n",x);
}
else
{ if(disc>0)
{
x1=p+q;
x2=p-q;
printf("方程为二次,有两实根:x1=%.2f x2=%.2f\n",x1,x2);
}
else
printf("方程为二次,有两虚根:x1=%.2f+%.2fi,x2=%.2f+%.2fi\n",p,q,p,q);
}
}
}
可以看出来,你对if嵌套的运用十分纯熟,在if -else if -else 语句还有所欠缺哦
哈哈 还有注意=与==要区别开 前者是赋值 后面的是"等于" 嗯都是细节问题 希望你多加注意啊
修改后代码:(VC6.0下运行良好,达到求解目的)
#include
#include
void main()
{
float a,b,c,disc;
double p,q,x,x1,x2,m;
printf("请输入a,b,c的值:\n");
scanf("%f %f %f",&a,&b,&c);
disc=b*b-(4*a*c);
p=-b/(2*a);
m=fabs(disc);
q=sqrt(m)/(2*a);
if(a==0)/*你的是=号哦*/
{
x=-c/b;
printf("方程为一次,有一个实根:x=%.2f\n",x);
}
else
{
if(disc==0)
{
x=p;
printf("方程为二次,有一个实根:x=%.2f\n",x );
}
else if(disc>0)/*你的是if*/
{
x1=p+q;
x2=p-q;
printf("方程为二次,有两实根:\nx1=%.2f \n x2=%.2f\n",x1,x2);
}
else
printf("方程为二次,有两虚根:x1=%.2f+%.2fi,x2=%.2f+%.2fi\n",p,q,p,q);
}
}
哈哈 还有注意=与==要区别开 前者是赋值 后面的是"等于" 嗯都是细节问题 希望你多加注意啊
修改后代码:(VC6.0下运行良好,达到求解目的)
#include
#include
void main()
{
float a,b,c,disc;
double p,q,x,x1,x2,m;
printf("请输入a,b,c的值:\n");
scanf("%f %f %f",&a,&b,&c);
disc=b*b-(4*a*c);
p=-b/(2*a);
m=fabs(disc);
q=sqrt(m)/(2*a);
if(a==0)/*你的是=号哦*/
{
x=-c/b;
printf("方程为一次,有一个实根:x=%.2f\n",x);
}
else
{
if(disc==0)
{
x=p;
printf("方程为二次,有一个实根:x=%.2f\n",x );
}
else if(disc>0)/*你的是if*/
{
x1=p+q;
x2=p-q;
printf("方程为二次,有两实根:\nx1=%.2f \n x2=%.2f\n",x1,x2);
}
else
printf("方程为二次,有两虚根:x1=%.2f+%.2fi,x2=%.2f+%.2fi\n",p,q,p,q);
}
}
我的程序哪里出错啦?用函数求一元二次方程的根
这个C语言程序(求一元二次方程的根)哪个地方出错了?
这个C语言程序那里错了?求一元二次方程
我设计了个C语言程序,关于解一元二次方程的,请问我错在哪?
一元二次方程求解的c语言程序
请大家看一下下面的C语言程序哪里出错了,题目是求一元二次方程的解.
帮忙检查一下c语言的程序错在哪里,题目是求解一元二次方程.a*x*x+b*x+c=0
C语言求一元二次方程的实根和复数根,哪里错了?
用c语言编写”求一元二次方程的根”的程序
请看一下我这个求解一元二次方程的程序有什么错?
C语言求一元二次方程的根
请问我用VB写的解一元二次方程的程序哪里错了 应该怎么改?