本文目錄一覽:
c語言 求一元二次方程的根,可以為復根 。求大神幫助
如果跟為復根且b等於0,那x1就成了-0.00。最後一個else內改為:
x1 = – b / (2 * a);
x2 = sqrt(-delt) / (2 * a);
x2 = (x2 0) ? x2 : -x2;
if(b!=0)
{
printf(“%.2f+%.2fi\n”, x1, x2);
printf(“%.2f-%.2fi\n”, x1, x2);
}
else
{
printf(“0.00+%.2fi\n”,x2);
printf(“0.00-%.2fi\n”,x2);
}
C語言編程 求一元二次方程的根 !!!
#include iostream
#include cmath
using namespace std;
int main()
{float a,b,c;float x1,x2; cinabc;float dlt=b*b-4*a*c;if(dlt=0){x1=-b/2/a+sqrt(dlt)。
/2/ax2=-b/2/a-sqrt(dlt)/2/a。
couta”x^2+”b”x+”c”=0有兩個實根:”;cout”x1=”x1″,x2=”x2endl;}
else
{x1=-b/2/a;x2=sqrt(-dlt)/2/a;couta”x^2+”b”x+”c”=0有兩個虛根:”。
cout”x=”x1″+/-“x2″i”endl;}
return 0。
擴展資料:
成立條件:
一元二次方程成立必須同時滿足三個條件:
①是整式方程,即等號兩邊都是整式,方程中如果有分母;且未知數在分母上,那麼這個方程就是分式方程,不是一元二次方程,方程中如果有根號,且未知數在根號內,那麼這個方程也不是一元二次方程(是無理方程)。
②只含有一個未知數;
③未知數項的最高次數是2。
參考資料來源:百度百科-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*c0)
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語言編寫求一元二次方程根的程序
用C語言編寫求一元二次方程根的程序,條件判斷的充分,步驟如下:
void main()
{
float a,b,c,delta;
scanf(“%f%f%f”,a,b,c);
if(a!=0)
{
delta=b*b-4*a*c;
if(delta==0)
printf(“x1=x2=%7.2f”,-b/(2*a));
else if(delta0)
{
printf(“x1=%7.2f”,(-b+sqrt(delta))/(2*a));
printf(“x2=%7.2f”,(-b-sqrt(delta))/(2*a));
}
else
{
printf(“x1=%7.2f+i%7.2f”,-b/(2*a),sqrt(-delta)/(2*a));
printf(“x2=%7.2f-i%7.2f”,-b/(2*a),sqrt(-delta)/(2*a));
}
}
else if(b!=0)
printf(“x=%7.2f”,-c/b);
else if(c==0)
printf(“0=0,x為任意解
“);
else
printf(“%f=0,error!”,c);
}
原創文章,作者:UVVAA,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/316033.html