帮我找个错误吧~函数问题

来源:百度知道 编辑:UC知道 时间:2024/06/11 16:17:41
求方程 ax2+bx+c=0 的根。用三个函数分别求当 b2–4ac 大于 0 , 等于 0 和小于 0 时的根,在主程序中输入 a , b , c 的值。
这是我曾经问过的问题,自己做了以后发现好像不能运行,高手们来纠错吧,谢啦
#include<stdio.h>
void root(a,b,c)
{
double d,x1,x2;
d=b*b-4*a*c;
if(d>0)
{x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("方程有两个根,是:%lf,%lf\n",x1,x2);
}
else if(d==0)
{x1=(-b)/(2*a);
printf("方程有一个根,是:%lf\n",x1);

}
}
void main()
{
void root(a,b,c);
double a,b,c;
printf("input a,b,c:");
scanf("%lf%lf%lf",&a,&b,&c);
root(a,b,c);
}
虚数就不考虑在内啦

#include<stdio.h>
#include <math.h>
void root(int a,int b,int c)
{
double d,x1,x2;
d=b*b-4*a*c;
if(d>0)
{x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("方程有两个根,是:%lf,%lf\n",x1,x2);
}
else if(d==0)
{x1=(-b)/(2*a);
printf("方程有一个根,是:%lf\n",x1);

}
}
void main()
{
void root(int a,int b,int c);
double a,b,c;
printf("input a,b,c:");
scanf("%lf%lf%lf",&a,&b,&c);
root(a,b,c);
}

#include <stdio.h>
#include <math.h>
void main()
{ void root(double a, double b, double c);
double a, b, c;
printf("请输入一元二次方程的系数,用空格或者回车间隔:\n");
scanf("%lf%lf%lf",&a,&b,&c);
root(a,b,c);
}

void root(double a, double b, double c)
{ double disc, x1, x2, real , imag;
disc = b*b-4*a*c;
if(disc>