當前位置:生活全書館 >

IT科技

> c語言簡單程式設計之一元二次方程怎麼解

c語言簡單程式設計之一元二次方程怎麼解

#include #include int main(void) { double a,b,c,x1,x2,d; scanf("%lf%lf%lf",&a,&b,&c); d = b * b - 4 * a * c; if(d > 0) { x1 = (-1 * b + sqrt(d)) / (2 * a); x2 = (-1 * b - sqrt(d)) / (2 * a); printf("x1 = %g,x2 = %gn",x1,x2); }

現在讓我來和大家一起分享C語言簡單程式設計之一元二次方程求解吧

c語言簡單程式設計之一元二次方程怎麼解

材料/工具

C語言,電腦

一樓的程式有誤。資料型別錯了。執行的例子是剛巧“碰對了”。 不然的話輸入係數:4 -4 -3就出錯了。 應作修改如下: 第5、7、14行改為: double a,b,c,d,x1,x2; scanf("%lf%lf%lf",&a,&b,&c); printf("x1 = %g , x2 = %gn",x1,x2);

方法

輸入# include

#include #include int main(void) { double a,b,c,x1,x2,d; scanf("%lf%lf%lf",&a,&b,&c); d = b * b - 4 * a * c; if(d > 0) { x1 = (-1 * b + sqrt(d)) / (2 * a); x2 = (-1 * b - sqrt(d)) / (2 * a); printf("x1 = %g,x2 = %gn",x1,x2); }

# include

對於如下的一元二次方程: ax*x+bx+c=0設計C語言程式,輸入一元二次方程的三個係數a、b、c,求解出該方程的兩個根,並且允許使用者在程式中多次輸入不同的係數,以求解不同的一元二次方程的解。程式設計思路分析:對於該方程,令delta=b^2-4*a*c,從數

void main(void)

步驟: 開啟visual C++ 6.0-檔案-新建-檔案-C++ Source File 2. 定義變數: #include #include void main() { double a,b,c; /*定義係數變數*/ double x1,x2,p; /*定義根變數和表示式的變數值*/ 3.輸入係數: printf("請輸入a,b,c:"); /*提示用

c語言簡單程式設計之一元二次方程怎麼解 第2張

輸入void main(void)

#include main() { int s; float a,b,c; float temp;//計算b*b-4*a*c float num;//開根號 float x1,x2;//方程的根 printf("---------------歡迎進入二元方程組計算系統,輸入非0進入,0退出---------------n"); scanf("%d",&s); while(s){ prin

{

double a,b,c,x1,x2;

#include #include 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);

cout<<"input a,b,c:";

您好!很高興為您解答。 原始碼中的scanf和printf中的%要放在d和lf的前面才對,改正後運算無誤~ #include #include void main () { double x1;//x1,x2分別為方程的2個解 double x2; double melt; int a; int b;//初始化ABC的三個變數 int c; pri

cin>>a>>b>>c;

#include #include using namespace std; int main() { for (int i=0;i>a>>b>>c; delta=b*b-4*a*c; p=-b/(2*a); q=sqrt(fabs(delta))/(2*a); if (delta>=0) cout

double s=b*b-4*a*c;

M巨集不需要開方,delta只是b*b-4*a*c,如果它大於等於0,再開方才有意義.變數也應該使用浮點數型別,修改如下: //--------------------------------------------------------------------------- #include #include #define M (b*b-4*a*c) /*注意這裡

if(s>=o)

C語言編寫一程式求解一元二次方程的根: #include #include 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,floa

c語言簡單程式設計之一元二次方程怎麼解 第3張

輸入{

double sqrtVal=sqrt(s);

用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(delta>0){printf("x1=%7.2f",(-b+sqr

x1=(-b+sqrtVal)/(2*a);

#include #include int main(void){ double a,b,c; double x1,x2,x,t,p,q printf("輸入一元二次方程的係數a,b,c:"); scanf("%lf %lf %lf",&a,&b,&c); t=b*b-4*a*c; if(a==0&&b==0&&c==0) printf("方程無窮解!n"); if(a==0&&b==0&&c!=0) printf(

x2=(-b-sqrtVal)/(2*a);

#include#includevoid main(){ double a,b,c,d,x1,x2; /*sqrt要求用double型,定義用double,另外double和後面變數之間要有空格*/ printf("請輸入係數a、b、c:"); scanf("%lf%lf%lf",&a,&b,&c); /*&b和&c之間要有逗號*/ d=b*b-4*a*c; x1=(-b+sqr

cout<<"x1="<cout<<"x2="<}

#include #include void main() { double a,b,c,x1,x2; printf("For "ax2+bx+c=0"nPlease input a : "); scanf("%lf",&a); printf("Please input b : "); scanf("%lf",&b); printf("Please input c : "); scanf("%lf",&c); if(b * b - 4 * a

c語言簡單程式設計之一元二次方程怎麼解 第4張

輸入else

#include #include void main(){float a,b,c,dlt;scanf("%f%f%f",&a,&b,&c);if(a){dlt=b*b-a*c*4;if(dlt>0)printf("x1=%.2fnx2=%.2f",(-b+sqrt(dlt))/(a*2),(-b-sqrt(dlt))/(a*2));else if(dlt

cout<<"this question does not hava a real answer"<

int GetRoot(float a, float b, float c ,double* root){ double delta, deltasqrt ; delta = b* b - 4*a*c ; if(delta

}

c語言簡單程式設計之一元二次方程怎麼解 第5張

擴充套件閱讀,以下內容您可能還感興趣。

C語言程式設計 解一元二次方程

M巨集不需要開方,delta只是b*b-4*a*c,如果它大於等於0,再開方才有意義.變數也應該使用浮點數型別,修改如下:

//---------------------------------------------------------------------------

#include<stdio.h>

#include<math.h>

#define M (b*b-4*a*c) /*注意這裡*/

main()

{double a,b,c,x1,x2; /*注意這裡*/

printf("請輸入方程的三個係數:");

scanf("%lf,%lf,%lf",&a,&b,&c); /*注意這裡*/

if (M>0)

{ x1=(-b+sqrt(M))/(2*a); /*注意這裡*/

x2=(-b-sqrt(M))/(2*a); /*注意這裡*/

printf("方程的兩個根是:\nx1=%lf,x2=%lf\n",x1,x2);/*注意這裡*/

}

else if (M==0)

{ x1=-b/(2*a);

printf("方程具有兩個相等的實根:x1=x2=%lf\n",x1); /*注意這裡*/

}

else

printf("輸入錯誤,請重新輸入\n");

}

//---------------------------------------------------------------------------

如何用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("方程無實數根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語言編寫求一元二次方程根的程式

用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(delta>0)

{

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);

}

求一元二次方程ax2+bx+c=0的解。a,b,c為任意實數。c語言程式設計

#include<stdio.h>

#include<math.h>

int main(void){

double a,b,c;

double x1,x2,x,t,p,q

printf("輸入一元二次方程的係數a,b,c:");

scanf("%lf %lf %lf",&a,&b,&c);

t=b*b-4*a*c;

if(a==0&&b==0&&c==0)

printf("方程無窮解!n");

if(a==0&&b==0&&c!=0)

printf("方程無解!n");

if(a==0&&b!=0){

x=-c/b;

printf("方程有一個根:x=%.2fn",x);

}

if(a!=0&&b!=0){

if(t==0){

x=-b/(2*a);

printf("方程有兩個相同的實根:x1=x2=%.2fn",x);

}

if(t>0){

x1=(-b+sqrt(t))/(2*a);

x2=(-b-sqrt(t))/(2*a);

printf("方程有兩個不同實根:x1=%.2f x2=%.2fn",x1,x2);

}

if(t<0){

p=(-b)/(2*a);

q=sqrt(-t)/(2*a);

printf("方程有兩個不同虛根:x1=%.2f+%.2fi x2=%.2f-%.2fin",p,q,p,q);

}

}

return 0;

}

擴充套件資料

main()

{

float a,b,c;

x09float temp;//計算b*b-4*a*c

x09float num;//開根號

x09float x1,x2;//方程的根

x09printf("Enter a,b,c:");

x09scanf("%f %f %f",&a,&b,&c);

x09temp=b*b-4*a*c; 

x09num=sqrt(temp); 

x09if(temp>0) //兩個不同實根

x09{

x09x09x1=(-b+num)/(2*a);

x09x09x2=(-b-num)/(2*a);

x09x09printf("x1=%0.2f,x2=%0.2fn",x1,x2);//保留兩位輸出

x09}

x09if(temp==0)//一個相同實根

x09{

x1=x2=(-b)/(2*a);

printf("x1=x2=%0.2fn",x1);//保留兩位輸出

x09}

x09if(temp

參考資料:百度百科 c語言

百度百科 一元二次方程

一元二次方程求根的C語言程式程式碼

#include<stdio.h>

#include<math.h>

void main()

{

    double a,b,c,d,x1,x2;    /*sqrt要求用double型,定義用double,另外double和後面變數之間要有空格*/

    printf("請輸入係數a、b、c:");

    scanf("%lf%lf%lf",&a,&b,&c);    /*&b和&c之間要有逗號*/

    d=b*b-4*a*c;

    x1=(-b+sqrt(d))/(2*a);

    x2=(-b-sqrt(d))/(2*a);

    printf("x1=%.2lfnx2=%.2lfn",x1,x2);    /*輸出用%lf*/

}

  • 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/dianzi/l2gmxz.html