⑴ 用c語言編寫求一元二次方程根的程序
#include<stdio.h>
#include<math.h>
intmain()
{
doublea,b,c,disc,x1,x2,realpart,imagpart;
scanf("%lf%lf%lf",&a,&b,&c);
printf("Theequation");
if(fabs(a)<=1e-6)
printf("isnotaquadratic ");
else
{
disc=b*b-4*a*c;
if(fabs(disc)<=1e-6)
printf("hastwoequalroots:%8.4f ",-b/(2*a));
else
if(disc>0)
{
x1=(-b+sqrt(disc))/(2*a);
x2=(-b-sqrt(disc))/(2*a);
printf("hasdistinctrealroots:%8.4fand%8.4f ",x1,x2);
}
else
{
realpart=-b/(2*a);
imagpart=sqrt(-disc)/(2*a);
printf("hascomplexroots: ");
printf("%8.4f+%8.4fi ",realpart,imagpart);
printf("%8.4f-%8.4fi ",realpart,imagpart);
}
}
return0;
}
⑵ 如何用C語言編寫一程序求解一元二次方程的根
C語言編寫一程序求解一元二次方程的根:
#include<stdio.h>
#include<math.h>
void m(float a,float b,float c)
{
double x1,x2;
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
printf("方程的根是%.2lf和%.2lf",x1,x2);
}
void n(float a,float b,float c)
{
double x;
x=(-b)/(2*a);
printf("方程的根為%.2lf",x);
}
void f(float a,float b,float c)
{
printf("方程無實數根 ");
}
main()
{
float a,b,c;
printf("請輸入a,b,c的值 ");
scanf("%f%f%f",&a,&b,&c);
if(b*b-4*a*c>0)
m(a,b,c);
if(b*b-4*a*c==0)
n(a,b,c);
if(b*b-4*a*c<0)
f(a,b,c);
}
⑶ c語言 求一元二次方程的根(含復根)
#include "stdio.h"
#include "math.h"
int main(void)
{int a,b,c;
double d,e,f;
scanf("%d %d %d",&a,&b,&c);
d=a, e=b, f=c;
if (a==0)
if (b==0)
{printf("非法方程,請重新輸入a,b,c「);
scanf("%d %d %d",&a,&b,&c);d=a, e=b, f=c;}
else
if (b*b-4*a*c==0)
printf("x1=x2=%.6f\n",0-e/(2*d));
else
if (b*b-4*a*c>0)
printf("x1=%.6f\nx2=%.6f\n",(-e+sqrt(e*e-4*d*f))/(2*d),(-e-sqrt(e*e-4*d*f))/(2*d));
else
{
【5】;
【6】
printf("x1=%.6f+%.6fi\nx2=%.6f+%.6fi\n",-e/(2*d),sqrt(4*d*f-e*e)/(2*d),-e/(2*d),-sqrt(4*d*f-e*e)/(2*d));
}
5,6沒法填
⑷ c語言求一元二次方程的根
#include<iostream>
#include<cmath>
usingnamespacestd;
intmain()
{floata,b,c;floatx1,x2; cin>a>>b>>c;floatdlt=b*b-4*a*c;if(dlt>=0){x1=-b/2/a+sqrt(dlt)。
/2/ax2=-b/2/a-sqrt(dlt)/2/a。
cout<<a<<"x^2+"<<b<<"x+"<<c<<"=0有兩個實根:";cout<<"x1="<<x1<<",x2="<<x2<<endl;}
else
{x1=-b/2/a;x2=sqrt(-dlt)/2/a;cout<<a<<"x^2+"<<b<<"x+"<<c<<"=0有兩個虛根:"。
cout<<"x="<<x1<<"+/-"<<x2<<"i"<<endl;}
return0。
(4)c語言題目求一元二次方程的根擴展閱讀:
成立條件:
一元二次方程成立必須同時滿足三個條件:
①是整式方程,即等號兩邊都是整式,方程中如果有分母;且未知數在分母上,那麼這個方程就是分式方程,不是一元二次方程,方程中如果有根號,且未知數在根號內,那麼這個方程也不是一元二次方程(是無理方程)。
②只含有一個未知數;
③未知數項的最高次數是2。
⑸ C語言編程:求1元2次方程的根
#include <stdio.h>
#include <math.h>
int main()
{
double a,b,c; /*定義系數變數*/
double x1,x2,p; /*定義根變數和表達式的變數值*/
printf("請輸入a,b,c:"); /*提示用戶輸入三個系數*/
scanf("%lf%lf%lf",&a,&b,&c); /*接收用戶輸入的系數*/
printf(" "); /*輸出回行*/
p=b*b-4*a*c; /*給表達式賦值*/
x1=(-b+sqrt(p))/(2*a); /*根1的值*/
x2=(-b-sqrt(p))/(2*a); /*跟2的值*/
printf("x1=%f,x2=%f ",x1,x2); /*輸出兩個根的值*/
}
拓展資料
在實際的求法中,一般還需要判斷有無實根,這是可以通過p的值來判斷
⑹ 如何用C語言求一元二次方程的根
#include <stdlib.h>
#include <math.h>
void main( void )
{
double a,b,c,d;
printf("請輸入一元二次方程的三個系數:");
scanf("%lf %lf %lf",&a,&b,&c);
d=b*b-4*a*c;
if(d<0){printf("方程沒有實根。\n"); return 1;}
if(d==0){printf("方程有重根 x=%lf\n",-b/(2*a)); return 0;}
printf("方程有二個實根 x1=%lf x2=%lf",(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a));
system("pause");
return 0;
}