下面是代码
#include"math.h"
#include <stdio.h>
main()
{
float a,b,c,d,x1,x2,p,q;
printf("请输入方程对应的a,b,c的值:");
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
d=b*b-4*a*c;
if(d<0)
printf("方程没有实数根");
else
p=-b/(2*a);
q=sqrt(d)/(2*a);
x1=p+q;
x2=p-q;
printf("方程的根为:x1=%f,x2=%f",x1,x2);
}
可是无论你输入什么值,结果都如截图。我把分贡献出来,希望高手相助。
修改如下
#include"math.h"
#include <stdio.h>
void main()
{
float a,b,c,d,x1,x2,p,q;
printf("请输入方程对应的a,b,c的值:");
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
//scanf("a=%f,b=%f,c=%f",&a,&b,&c);
d=b*b-4*a*c;
if(d<0)
printf("方程没有实数根");
else
p=-b/(2*a);
q=sqrt(d)/(2*a);
x1=p+q;
x2=p-q;
printf("方程的根为:x1=%f,x2=%f",x1,x2);
}
你输入时需要这样输入,比如:
a=1,b=2,c=3追问
#include"math.h"
#include <stdio.h>
void main()
{
float a,b,c,d,x1,x2,p,q;
printf("请输入方程对应的a,b,c的值:");
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
//scanf("a=%f,b=%f,c=%f",&a,&b,&c);
d=b*b-4*a*c;
if(d<0)
printf("方程没有实数根");
else
p=-b/(2*a);
q=sqrt(d)/(2*a);
x1=p+q;
x2=p-q;
printf("方程的根为:x1=%f,x2=%f",x1,x2);
}
你输入时需要这样输入,比如:
a=1,b=2,c=3追问
我有追加了十分,能告诉我出错原因吗。
追答认真看我的修改的代码,你的输入有两次,我不知道是不是你打错了,所以我注释掉了一个
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
接着就是你看你的scanf("a=%f,b=%f,c=%f",&a,&b,&c);这个语句,就要求你的输入格式是
a=某个值,b=某个值,c=某个值
然后回车;你的输入方式错了,
恩恩,谢谢,我试了一下,运行成功了。但是没有师叔根时,却如图。显示了没有实根,接着显示x1=,x2=。 已经很感谢了。马上采纳。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2019-08-08
修改如下
#include"math.h"
#include
<stdio.h>
void
main()
{
float
a,b,c,d,x1,x2,p,q;
printf("请输入方程对应的a,b,c的值:");
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
//scanf("a=%f,b=%f,c=%f",&a,&b,&c);
d=b*b-4*a*c;
if(d<0)
printf("方程没有实数根");
else
p=-b/(2*a);
q=sqrt(d)/(2*a);
x1=p+q;
x2=p-q;
printf("方程的根为:x1=%f,x2=%f",x1,x2);
}
你输入时需要这样输入,比如:
a=1,b=2,c=3
#include"math.h"
#include
<stdio.h>
void
main()
{
float
a,b,c,d,x1,x2,p,q;
printf("请输入方程对应的a,b,c的值:");
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
//scanf("a=%f,b=%f,c=%f",&a,&b,&c);
d=b*b-4*a*c;
if(d<0)
printf("方程没有实数根");
else
p=-b/(2*a);
q=sqrt(d)/(2*a);
x1=p+q;
x2=p-q;
printf("方程的根为:x1=%f,x2=%f",x1,x2);
}
你输入时需要这样输入,比如:
a=1,b=2,c=3
第2个回答 2020-03-26
修改如下
#include"math.h"
#include
<stdio.h>
void
main()
{
float
a,b,c,d,x1,x2,p,q;
printf("请输入方程对应的a,b,c的值:");
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
//scanf("a=%f,b=%f,c=%f",&a,&b,&c);
d=b*b-4*a*c;
if(d<0)
printf("方程没有实数根");
else
p=-b/(2*a);
q=sqrt(d)/(2*a);
x1=p+q;
x2=p-q;
printf("方程的根为:x1=%f,x2=%f",x1,x2);
}
你输入时需要这样输入,比如:
a=1,b=2,c=3
#include"math.h"
#include
<stdio.h>
void
main()
{
float
a,b,c,d,x1,x2,p,q;
printf("请输入方程对应的a,b,c的值:");
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
//scanf("a=%f,b=%f,c=%f",&a,&b,&c);
d=b*b-4*a*c;
if(d<0)
printf("方程没有实数根");
else
p=-b/(2*a);
q=sqrt(d)/(2*a);
x1=p+q;
x2=p-q;
printf("方程的根为:x1=%f,x2=%f",x1,x2);
}
你输入时需要这样输入,比如:
a=1,b=2,c=3