c语言求一元二次方程的根
Ax2+bx+c=0
求一元二次方程:ax2+bx+c=0 的根;输入三个实数a,b,c的值,且a不等于0。#include <stdio.h>#include <math.h>int main(){;float a,b,c,x1,x2,d;printf("输入方程的三个系数:");
scanf("%f %f %f",&a,&b,&c);if(a!=0);{;d=sqrt(b*b-4*a*c);x1=(-b+d)/(2*a);x2=(-b-d)/(2*a);if(x1<x2)printf("%0.2f %0.2f\n",x2,x1);elseprintf("%0.2f %0.2f\n",x1,x2);}return 0;}
一元二次方程可能有两个实数解,或者一个实数解,或者无实数解。根据输入的三个系数 a、b、c 的判断解的情况:#include<stdio.h>#include<math.h>int main(){double disc,a,b,c,p,q,x1,x2;printf("请输入a和b和c的值:\n");
scanf("%lf %lf%lf",&a,&b,&c);disc=b*b-4*a*c;if(disc<0)printf("改方程无实数根\n");else{p=(-b)/(2*a);q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);}return 0;