
请教C语言的高手
#include<stdio.h>voidmain(){floata,b,c,x1,x2,disc;printf("inputabc:");scanf(“%f%f%f",...
#include<stdio.h>
void main()
{ float a,b,c,x1,x2,disc;
printf("input a b c:");
scanf(“%f%f%f",&a,&b,&c);
if(fabs(a)<1e-6)
printf("The question is not a quadratic");
else
{ disc=b*b-4*a*c;
if(disc<0)
printf("The question has not real root");
else
if(fabs(disc)<1e-6)
printf("The question has two equal roots: %8.4f",-b/(2*a));
else
{ x1=(-b+sqrt(disc))/(2*a);
x2=(-b+sqrt(disc))/(2*a);
printf("The question has distinct real roots: %8.4f,%8.4f,x1,x2");
}
}
}
这个程序应该没问题的,但是我输入了1,-2,1。应该是能得出结果的,但显示The question has not real root,试了个1,-2,-4 。还是这样,是不是哪里出错了。 展开
void main()
{ float a,b,c,x1,x2,disc;
printf("input a b c:");
scanf(“%f%f%f",&a,&b,&c);
if(fabs(a)<1e-6)
printf("The question is not a quadratic");
else
{ disc=b*b-4*a*c;
if(disc<0)
printf("The question has not real root");
else
if(fabs(disc)<1e-6)
printf("The question has two equal roots: %8.4f",-b/(2*a));
else
{ x1=(-b+sqrt(disc))/(2*a);
x2=(-b+sqrt(disc))/(2*a);
printf("The question has distinct real roots: %8.4f,%8.4f,x1,x2");
}
}
}
这个程序应该没问题的,但是我输入了1,-2,1。应该是能得出结果的,但显示The question has not real root,试了个1,-2,-4 。还是这样,是不是哪里出错了。 展开
3个回答
展开全部
#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c,x1,x2,disc;
printf("input a b c:");
scanf("%f%f%f",&a,&b,&c);
if(fabs(a)<1e-6)
printf("The question is not a quadratic");
else
{
disc=b*b-4*a*c;
if(disc<0)
printf("The question has not real root");
else if(fabs(disc)<1e-6)
printf("The question has two equal roots: %8.4f",-b/(2*a));
else
{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("The question has distinct real roots: %8.4f,%8.4f",x1,x2);
}
}
}
看了一下 是求根的吧。。这个可能是你输入的时候出错了,还有我改了几个地方,如果你要输入“1,-2,1”就是你的结果,要输入“1 -2 1”就对了 你看看你的scanf语句里面没有逗号,输入的时候就不能用逗号隔开
#include<math.h>
void main()
{
float a,b,c,x1,x2,disc;
printf("input a b c:");
scanf("%f%f%f",&a,&b,&c);
if(fabs(a)<1e-6)
printf("The question is not a quadratic");
else
{
disc=b*b-4*a*c;
if(disc<0)
printf("The question has not real root");
else if(fabs(disc)<1e-6)
printf("The question has two equal roots: %8.4f",-b/(2*a));
else
{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("The question has distinct real roots: %8.4f,%8.4f",x1,x2);
}
}
}
看了一下 是求根的吧。。这个可能是你输入的时候出错了,还有我改了几个地方,如果你要输入“1,-2,1”就是你的结果,要输入“1 -2 1”就对了 你看看你的scanf语句里面没有逗号,输入的时候就不能用逗号隔开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询