Code Bye

求问。关于用函数计算一元二次方程,出现[Error] expected primar,求帮助,谢谢

程序如下,题目为用三个函数分别求一元二次方程中判别式大于零,等于零,小于零的根,下面小白用了函数,出现了
[Error] expected primary-expression before “double”的错误,求高手解答,谢谢。
#include<stdio.h>
#include<math.h>
double a,b,c,p,g1,g2,x,y,z;
int gbig(double,double,double);
int gequ(double,double,double);
int gmin();
int main()
{
printf(“请分别输入a、b、c,求方程a*x^2+b*x+c的根:\n\n”);
scanf(“%lf %lf %lf”,&a,&b,&c);
p=b*b-4*a*c;
if(p>0) gbig(double a,double b,double p);
else if(p=0) gequ(double a,double b,double p);
else gmin();
return 0;
}
int gbig(double x,double y,double z)
{
double g1,g2;
g1=(-y+sqrt(z))/(2*x),g2=(-y-sqrt(z))/(2*x);
printf(“根1=%lf 根2=%lf”,g1,g2);
return 0;
}
int gequ(double x,double y,double z)
{
double g1,g2;
g1=(-y+sqrt(z))/(2*x);
printf(“该方程只有一个根=%lf”,g1);
return 0;
}
int gmin()
{
printf(“该一元二次方程没有实数根。”);
return 0;
}
解决方案

10

该回复于2016-10-14 09:04:26被管理员删除

10

if(p>0) gbig(double a,double b,double p);
else if(p=0) gequ(double a,double b,double p);
改成
if(p>0) gbig(a, b, p);
else if(p=0) gequ(a, b, p);

20

main函数中函数调用是给实参的

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明求问。关于用函数计算一元二次方程,出现[Error] expected primar,求帮助,谢谢