當前位置:首頁 » 編程語言 » 求一元二次方程的根c語言虛根
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

求一元二次方程的根c語言虛根

發布時間: 2022-12-24 15:15:36

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。

(1)求一元二次方程的根c語言虛根擴展閱讀:

成立條件:

一元二次方程成立必須同時滿足三個條件:

①是整式方程,即等號兩邊都是整式,方程中如果有分母;且未知數在分母上,那麼這個方程就是分式方程,不是一元二次方程,方程中如果有根號,且未知數在根號內,那麼這個方程也不是一元二次方程(是無理方程)。

②只含有一個未知數;

③未知數項的最高次數是2。

⑵ 用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語言編程:求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 <stdio.h>
#include <math.h>
int main(void)
{
double a,b,c,disc,x1,x2,imagpart,realpart,m,n;
printf("please input a,b,c(a!=0):\n");
scanf("%lf%lf%lf",&a,&b,&c);
disc = b * b - 4 * a * c;
m = - b / (2 * a);
n = sqrt(disc) / (2 * a);
if (fabs(disc) < 1e-8)
{
x1 = x2 = m; //有兩個相等實根
printf("x1=x2=%8.2f\n",x1);
}
else
if (disc > 0)
{
x1 = m + n,x2 = m - n; //有兩個不等實根
printf("x1=%8.2f\t,x2=%8.2f\n",x1,x2);
}
else
{
realpart = m;
imagpart = sqrt(-disc) / (2 * a); //有兩個共軛復根
printf("x1=%8.2f+%.2fi\t,x2=%8.2f-%.2fi\n",realpart,imagpart,realpart,imagpart);
}
return 0;
}

⑸ 用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("方程無實數根\n");
}
main()
{
float a,b,c;
printf("請輸入a,b,c的值\n");
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語言中,如何用調用函數編寫求一元二次方程的根

int GetRoot(float a, float b, float c ,double* root){
double delta, deltasqrt ;
delta = b* b - 4*a*c ;
if(delta<0) return 0 ;
deltasqrt = sqrt(delta) ;
if (a!=0.0){
root[0] = (deltasqrt - b)/(2.0*a) ;
root[1] = (-deltasqrt - b)/(2.0*a) ;
}
if (root[0] == root[1]) return 1;
else return 2 ;
}

int main(void){
//計算方程的根
float a = 2.0,b =6.0,c=3.0 ;//a,b,c s是參數
double root[2] ;//root是得到的兩個根
int n = GetRoot(a,b,c,root) ;
if (n<1){
printf("方程無根") ;
}else{
printf("方程的解為:%f,%f",root[0],root[1]) ;
}
}