作业帮 > 综合 > 作业

C语言课后题,调用3个函数求2次方程的根,编写程序如下:

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/03 14:06:18
C语言课后题,调用3个函数求2次方程的根,编写程序如下:
#include
#include
main()
{void zero(float a,float b);
void left();
void right(float a,float b,float c);
float a,b,c,d;
printf("请输入a,b,c的值:\n");
scanf("%f%f%f",&a,&b,&c);
d=b*b-4*a*c;
if(d=0)zero(a,b);
if(d0)right(a,b,c);
}
void zero(float a,float b)
{
printf("%f",-b/2*a);
}
void left()
{
printf("no roots!\n");
}
void right(float a,float b,float c)
{
float x1,x2;
x1=-b/2*a+sqrt(b*b-4*a*c);
x1=-b/2*a-sqrt(b*b-4*a*c);
printf("%f %f \n",x1,x2);
}
初学者求指点
#include<stdio.h>#include<math.h>void zero(float a,float b);void left();void right(float a,float b,float c);void main(){float a,b,c,d;printf("请输入a,b,c的值:\n");scanf("%f %f %f",&a,&b,&c);d=b*b-4*a*c;if(d==0)zero(a,b);if(d<0)left();if(d>0)right(a,b,c);}void zero(float a,float b){printf("%f",-b/2*a);}void left(){printf("no roots!\n");}void right(float a,float b,float c){float x1,x2;x1=(-b+sqrt(b*b-4*a*c))/(2*a);x2=(-b-sqrt(b*b-4*a*c))/(2*a);printf("%f %f \n",x1,x2);}
再问: 你能指出我这程序哪地方出错了么
再答: 主要问题:1.函数的声明位置。2.d==0与d=0的区别。3.right函数中对两个根求取的表达式有误