求方程 ax²+bx十c=0的根,用3 个函数分别求当:b²-4ac 大于0、等于0和小于0 时的根并输出结果。从主函数输人a,b,c的值。
1条回答 默认 最新
CSDN专家-link 2021-12-08 16:07关注主函数输入a,b,c的值吧?怎么是6。小于0是输出虚数,还是返回错误?
#include <stdio.h> #include <math.h> void fun2(float dis,float a,float b) { float x1=(-b+sqrt(dis))/(2*a); float x2=(-b-sqrt(dis))/(2*a); printf("该函数有两个不等的实根:x1=%f x2=%f\n",x1,x2); } void fun1(float a,float b) { float x = (-b)/(a*a); printf("该函数有两个相等的实根:x=%f\n",x); } void fun0(float dis,float a,float b) { float r =-b/(2*a); float i =sqrt(-dis)/(2*a); printf("该函数有两个不等的虚根:x1=%8.4f+%8.4fi x2=%8.4f-%8.4fi\n",r,i,r,i); } int main() { float a,b,c,dis,x1,x2; printf("请输入a,b,c的值: "); scanf("%f %f %f",&a,&b,&c); dis=b*b-4*a*c; if(dis<0) { fun0(dis,a,b); } else if(dis==0) { fun1(a,b); } else { fun2(dis,a,b); } return 0; }评论 打赏 举报 编辑记录解决 2无用