c语言问题,求二次方程的根

问题描述:

c语言问题,求二次方程的根
#include"math.h"
float x1,x2,disc,a,b;
bigger_than_zero(a,b)
{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
return bigger_than_zero(a,b);
}
equal_to_zero(a,b)
{
x1=x2=(-b)/(2*a);
return equal_to_zero(a,b);
}
main()
{
float a,b,c;
printf("please input a,b,c\n");
scanf("%f,%f,%f",&a,&b,&c);
disc=b*b-4*a*c;
if(disc>0)
{
bigger_than_zero(a,b);
printf("%f,%f",x1,x2);
}
if(disc==0)
{
equal_to_zero(a,b);
printf("%f,%f",x1,x2);
}
if(disc
1个回答 分类:综合 2014-10-27

问题解答:

我来补答
//关键是你把形参与实参给混了,计算机不知怎么算了.
#include"math.h"
//float x1,x2,disc, a,b; 错,改为
float x1,x2,disc;
//bigger_than_zero(a,b) 错,改
bigger_than_zero(float a,float b)
{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
// return bigger_than_zero(a,b); 这里我不知道错没,但我改为
return 0;
}
//equal_to_zero(a,b) 错,改为
equal_to_zero(float a,float b)
{
x1=x2=(-b)/(2*a);
//return equal_to_zero(a,b);
retun 0;
}
main()
{
float a,b,c;
printf("please input a,b,c\n");
scanf("%f,%f,%f",&a,&b,&c);
disc=b*b-4*a*c;
if(disc>0)
{
bigger_than_zero(a,b);
printf("%f,%f",x1,x2);
}
if(disc==0)
{
equal_to_zero(a,b);
printf("%f,%f",x1,x2);
}
if(disc
再问: 没用, 还是wujie
再答: //你不用改了,全部复制过去试试 #include #include //float x1,x2,disc, a,b; 错,改为 float x1,x2,disc; //bigger_than_zero(a,b) 错,改 bigger_than_zero(float a,float b) { x1=(-b+sqrt(disc))/(2*a); x2=(-b-sqrt(disc))/(2*a); // return bigger_than_zero(a,b); 这里我不知道错没,但我改为 return 0; } //equal_to_zero(a,b) 错,改为 equal_to_zero(float a,float b) { x1=x2=(-b)/(2*a); //return equal_to_zero(a,b); return 0; } main() { float a,b,c; printf("please input a,b,c\n"); scanf("%f,%f,%f",&a,&b,&c); disc=b*b-4*a*c; if(disc>0) { bigger_than_zero(a,b); printf("%f,%f",x1,x2); } if(disc==0) { equal_to_zero(a,b); printf("%f,%f",x1,x2); } if(disc
 
 
展开全文阅读
剩余:2000