當前位置:首頁 » 編程語言 » c語言ax2bxc0的根

c語言ax2bxc0的根

發布時間: 2022-09-22 08:01:24

Ⅰ 用c語言求方程ax2+bx+c=0的根。

#include<stdio.h>

#include<math.h>

int main ()

{

double a,b,c,d,p;

printf("請輸入a,b,c 的值:");

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

if(a==0)

printf("不是二次方程");

else

{

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

if(d==0)

{

printf("有兩個相等的根 x=%7.2lf ",-b/(2*a));

}

if (d>0)

{

printf("有兩個不相等的根 X1=%7.2lf X2=%7.2lf ",(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a));

}

if(d<0)

{

p=sqrt(-d/(2*a));

printf("有兩個共軛復根 X1=%7.2lfi-%7.2lf X2=%7.2lfi-%7.2lf ",p,b/2,-p,b/2);

}

}

return 0;

}

(1)c語言ax2bxc0的根擴展閱讀:

scanf函數用法:

scanf("輸入控制符",輸入參數);

功能:將從鍵盤輸入的字元轉化為「輸入控制符」所規定格式的數據,然後存入以輸入參數的值為地址的變數中。

用scanf()函數以%s格式讀入的數據不能含有空白符時,所有空白符都被當做數據結束的標志。所以題中函數輸出的值只有空格前面的部分。

如果想要輸出包括空格在內的所有數據,可以使用gets()函數讀入數據。gets()函數的功能是讀取字元串,並存放在指定的字元數組中,遇到換行符或文件結束標志時結束讀入。換行符不作為讀取串的內容,讀取的換行符被轉換為字元串結束標志''。

Ⅱ 編寫程序,(C語言)求一元二次方程ax的2次方+bx+c=0的根

#include <stdio.h>
#include <math.h)
#define ESSP 0.00000001
void main()
{
double a,b,c,delta,root1,root2;
printf(\"Please input a:\");
scanf(\"%lf\",&a);
printf(\"Please input b:\");
scanf(\"%lf\",&b);
printf(\"Please input c:\");
scanf(\"%lf\",&c);
delta=b*b-4*a*c;
if(delta<-ESSP)
printf(\"This equation has no real root.\");
elseif(delta>ESSP)
{
root1=(-b+sqrt(delta))/(2*a);
root2=(-b-sqrt(delta))/(2*a);
printf(\"This eqution has two unequalize roots:,%lf,%lf\",root1,root2);
}
else
{
root1=-b/(2*a);
printf(\"This eqution has two equalize roots:,%lf\",root1);

}
}

Ⅲ c++c語言計算aX2+bX+c=0的根。程序編寫


#include<stdio.h>
#include<math.h>

intmain()
{
inta,b,c;
floatd;

printf("請輸入三個系數,以空格間隔(abc):");
scanf("%d%d%d",&a,&b,&c);
d=(float)b*b-4*a*c;
if(d>0)
{
printf("方程%dX^2+%dX+%d=0的根為:",a,b,c);
printf("x1=%fx2=%f ",(-1.0*b-sqrt(d))/2.0/a,(-1.0*b+sqrt(d))/2.0/a);
}
elseif(d==0)
{
printf("方程%dX^2+%dX+%d=0的根為:",a,b,c);
printf("x=%f ",-1.0*b/2.0/a);
}
else
{
printf("方程%dX^2+%dX+%d=0的沒有實數根 ",a,b,c);
}
return0;
}

請輸入三個系數,以空格間隔(a b c):3 6 2

方程3X^2+6X+2=0的根為:x1=-1.577350 x2=-0.422650

Ⅳ C語言,求一元二次方程ax2+bx+c=0的根。

#include"stdio.h"
#include"math.h"
void yici(int a,int b)
{
double x=-b/a;
printf("x=%lf\n",x);
}
void erci(int a,int b,int c)
{
int data;
double x1,x2;
data=b*b-4*a*c;
if(data<0)
printf("得他小於零,無解\n");
else if(data==0)
{
x1=-b/2*a;
printf("得他等於零,有一個解:\tx=%lf\n",x1);
}
else
{
x1=(-b+sqrt(data))/2*a;
x2=(-b-sqrt(data))/2*a;
printf("得他大於零,兩個解:\tx1=%lf\tx2=%lf\n",x1,x2);
}
}
void main()
{
int i,a,b,c;
printf("---------------------------------------------------------------------------\n1.一元一次方程求解\n2.一元二次方程求解\n3.一元三次方程求解\n0.退出\n---------------------------------------------------------------------------\n");
printf("請輸入指令序號(每次輸入完按enter鍵,告訴電腦我輸好了):");
scanf("%d",&i);
while(i)
{
switch(i)
{
case 1:printf("把你的方程化為這種格式:ax+b=0 (a,b均為整數(含零))\n請輸入a:");
scanf("%d",&a);
printf("請輸入b:");
scanf("%d",&b);
yici(a,b);
break;
case 2:printf("把你的方程化為這種格式:ax2+bx+c=0 (a,b,c均為整數(含零))\n請輸入a:");
scanf("%d",&a);
printf("請輸入b:");
scanf("%d",&b);
printf("請輸入c:");
scanf("%d",&c);

erci(a,b,c);
break;
case 3:printf("這你就不用知道了吧,有興趣的話去了解卡丹公式,可以解出\n");break;
default:printf("輸入指令錯誤,請重新輸入\n");
}
printf("---------------------------------------------------------------------------\n1.一元一次方程求解\n2.一元二次方程求解\n3.一元三次方程求解\n0.退出\n---------------------------------------------------------------------------\n");
printf("請輸入指令序號:");
scanf("%d",&i);
}

}

Ⅳ 求方程ax2+bx+c=0的根c語言

#include <stdio.h>
#include <math.h>
int main()
{
float a,b,c,dis,x1,x2;
printf("請輸入a,b,c的值: ");
scanf("%f %f %f",&a,&b,&c);
dis=b*b-4*a*c;
if(dis<0)
{
printf("該函數無實根。\n");
return 0;
}
else if(dis==0)
{
x1=x2=(-b)/(a*a);
printf("該函數有兩個相等的實根:\n");
}
else
{
x1=(-b+sqrt(dis))/(2*a);
x2=(-b-sqrt(dis))/(2*a);
printf("該函數有兩個不等的實根:");
}
printf("x1=%f x2=%f\n",x1,x2);
return 0;
}

Ⅵ C語言求方程ax2+bx+c=0的根。

利用類的形式刻畫一元二次方程:

採用一元二次方程根特性 對2次系數a和delta進行判斷 進而得出根的三種情:

#include<iostream>

#include<cmath>

using namespace std。

支持繼承和重用:

在C++現有類的基礎上可以聲明新類型,這就是繼承和重用的思想。通過繼承和重用可以更有效地組織程序結構,明確類間關系,並且充分利用已有的類來完成更復雜、深入的開發。新定義的類為子類,成為派生類。它可以從父類那裡繼承所有非私有的屬性和方法,作為自己的成員。

(6)c語言ax2bxc0的根擴展閱讀:

工作原理:

C++語言的程序因為要體現高性能,所以都是編譯型的。但其開發環境,為了方便測試,將調試環境做成解釋型的。即開發過程中,以解釋型的逐條語句執行方式來進行調試,以編譯型的脫離開發環境而啟動運行的方式來生成程序最終的執行代碼。

生成程序是指將源碼(C++語句)轉換成一個可以運行的應用程序的過程。如果程序的編寫是正確的,那麼通常只需按一個功能鍵,即可搞定這個過程。該過程實際上分成兩個步驟。

Ⅶ 用c編程求二元一次方程ax^2+bx+c=0的根

#include<stdio.h>

#include<math.h>

voidmain()

{

floata,b,c,x1,x2,p,q,disc;

printf("inputa,b,c ");

scanf("a=%f,b=%f,c=%f",&a,&b,&c);

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

if(disc<0)

{

printf("沒根 ");

}

else

{

p=-b/(2*a);

q=sqrt(disc)/(2*a);

x1=p+q;

x2=p-q;

printf(" x1=%5.2f x2=%5.2f ",x1,x2);

}

}



(7)c語言ax2bxc0的根擴展閱讀

C語言的注釋符一般分為兩種,一種是以「/*」開頭,在中間加上注釋內容,並以「*/」結尾的段落注釋符。在「/*」和「*/」之間的即為注釋。

另一種是以「//」開頭,後面加註釋內容的單行注釋符。在「//」之後的即為注釋。

C語言的注釋符是以「/*」開頭並以「*/」結尾的串。在「/*」和「*/」之間的即為注釋。程序編譯時,不對注釋作任何處理。注釋可出現在程序中的任何位置。

Ⅷ 【C語言】輸入a,b,c的值,求方程ax2+bx+c=0的根。

#include<stdio.h>
#include<math.h>
float x1,x2;
void fn1(int x,int y,int z);
void fn2(int x,int y,int z);
void fn3(int x,int y,int z);
main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
fn1(a,b,c);
fn2(a,b,c);
fn3(a,b,c);
}
void fn1(int x,int y,int z)
{
int a,b,c;
a=x;b=y;c=z;
if(b*b-4*a*c>0)
{
x1=(-b+sqrt(b*b-4*a*c))*1.0/(2*a);
x2=(-b-sqrt(b*b-4*a*c))+1.0/(2*a);
printf("x1=%f,x2=%f",x1,x2);
}
}
void fn2(int x,int y,int z)
{
int a,b,c;
a=x;b=y;c=z;
if(b*b-4*a*c==0)
{
x1=-b*1.0/(2*a);
x2=x1;
printf("x1=%f,x2=%f",x1,x2);
}
}
void fn3(int x,int y,int z)
{
int a,b,c;
a=x;b=y;c=z;
if(b*b-4*a*c<0)
printf("無實數解");
}

Ⅸ c語言:求二次函數ax^2+bx+c=0的根

#include<stdio.h>
#include<math.h>
voidmain()
{
floata,b,c,x1,x2,p,q,disc;
printf("inputa,b,c ");
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
disc=b*b-4*a*c;
if(disc<0)
{
printf("沒根 ");
}
else
{
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p+q;
x2=p-q;
printf(" x1=%5.2f x2=%5.2f ",x1,x2);
}
}

你輸入的那個方程根本就沒有根,這個你需要加一個判斷條件,這樣才能正確處理求根公式

熱點內容
路由器怎麼設置登錄密碼怎麼設置密碼 發布:2025-01-10 21:11:12 瀏覽:893
營運車解壓 發布:2025-01-10 21:11:01 瀏覽:932
安卓是哪裡出產 發布:2025-01-10 21:10:23 瀏覽:953
本科來了安卓版叫什麼 發布:2025-01-10 21:08:43 瀏覽:649
南京c語言 發布:2025-01-10 20:55:08 瀏覽:466
如何excel設置密碼保護 發布:2025-01-10 20:50:07 瀏覽:994
桌面文件限制存儲大小 發布:2025-01-10 20:28:45 瀏覽:79
安卓車機怎麼把應用放界面 發布:2025-01-10 20:28:36 瀏覽:679
減演算法小學 發布:2025-01-10 20:22:41 瀏覽:799
ig源碼網 發布:2025-01-10 20:20:04 瀏覽:420