當前位置:首頁 » 編程語言 » c語言求方程ax2

c語言求方程ax2

發布時間: 2023-05-25 07:57:56

1. c語言編程求解一元二次方程ax2+bx+c=0的根,要求系數a,b,c從鍵盤輸入在實數范圍內求解

從#include "stdio.h"開始

2. 用c語言編寫:求方程ax2+bx+c=0的實數根。a,b,c由鍵盤輸入,a≠0且b2-4ac>0;謝謝!

#include<stdio.h>

#include<math.h>

floatx1,x2;

main()

{

voidf1(floata1,floata2,floata3);

voidf2(floatb1,floatb2,floatb3);

voidf3(floatc1,floatc2,floatc3);

floata,b,c,t;

printf("Inputa=,b=,c= ");

scanf("a=%f,b=%f,c=%f",&a,&b,&c); //輸入格式為a=1,b=5,c=6;

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

if(fabs(t)<=1e-6) // 判斷t==0 的情況。

f1(a,b,c);

else

渣橘喚if(t>1e-6) // t>0的情況

f2(a,b,c);

else

f3(a,b,c);

}

voidf1(floata1,floata2,floata3)

{

x1伍宏=x2=-a2/(2*a1);

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

}


voidf2(floatb1,floatb2,floatb3)

{

floatdisc;

disc=sqrt(b2*b2-4*b1*b3);

x1=(-b2+disc)/(2*b1);

x2=(-b2-disc)/(2*b1);

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

}


voidf3(floatc1,floatc2,floatc3)

{

floatdisc,t1,t2;

disc如凱=sqrt(4*c3*c1-c2*c2);

t1=-c2/(2*c1);

t2=disc/(2*c1);

printf("x1=%f+%fi ",t1,t2);

printf("x2=%f-%fi ",t1,t2);

}

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

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

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

#include<iostream>

#include<cmath>

using namespace std。

支持繼承和重用:

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

(3)c語言求方程ax2擴展閱讀:

工作原理:

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

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

4. c語言 編程 求方程ax2+bx+c=0的根,用三個函數分別求當b2-4ac大於0、等於0和小於0時的根,並輸出結果。

#include<stdio.h>攔鄭運
#include<math.h>
main()
{
void x(float,float,float,float);
void y(float,float,float);
float a,b,c,d=0;
printf("輸入a b c的值叢逗:\n");
scanf("%f %f %f",&a,&b,&c);
d=(b*b)-(4.0*a*c);
if (d>0)
x(a,b,c,d);
else if (d==0)
y(a,b,c);
else
printf("無解");
}

void x(float a,float b,float c ,float d)
{
float x1,x2;
x1=(-b+sqrt(d))/簡梁(2.0*a);
x2=(-b-sqrt(d))/(2.0*a);
printf("x1=%.3f\nx2=%.3f\n",x1,x2);
}
void y(float a,float b,float c)
{
float x1;
x1=-b/(2.0*a);
printf("x1=x2=%.3f",x1);
}

5. C語言編程,求一元二次方程 ax2+bx+c=0 的解,謝謝

#include<iostream>

#include<cmath>

using namespace std;

int main()

{

for (int i=0;i<2;i++)

{

double a,b,c,delta,p,q;

cin>>a>>b>>c;

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

p=-b/(2*a);

q=sqrt(fabs(delta))/(2*a);

if (delta>=0)

cout<<p+q<<endl<<p-q<<endl;

else

{

cout<<p<<"+j"<<q;

cout<<endl<<p<<"-j"<<q<<endl;

}

}

return 0;

}

(5)c語言求方程ax2擴展閱讀:

return表示從被調函數返回到主調函數繼續執行,返回時可附帶一個返回值,由return後面的參數指定。return通常是必要的,因為函數調用的時候計算結果通常是通過返回值帶出的。

如果函數執行不需要返回計算結果,也經常需要返回一個狀態碼來表示函數執行的順利與否(-1和0就是最常用的狀態碼),主調函數可以通過返回值判斷被調函數的執行情況。

如果函數名前有返回類型定義,如int,double等就必須有返回值,而如果是void型,則可以不寫return,但這時即使寫了也無法返回數值。

6. 用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;

}

(6)c語言求方程ax2擴展閱讀:

scanf函數用法:

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

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

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

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

7. C語言 求方程aX^2+bX+c=0解,其中a.b.c由鍵盤輸入。若方程無實根,輸出沒有實數根,否則輸出實根

#include <stdio.h>
#include <math.h>
void main()
{
float a,b,c;
printf("input a,b,c:");
scanf("%f%f%f",&a,&b,&c);
if (b*b-4*a*c>=0)
{
if (b*b-4*a*c)\
printf("x1=%.2f,x2=%.2f",(-b+sqrt(b*b-4*a*c))/(2*a),(-b-sqrt(b*b-4*a*c))/(2*a));
else
printf("x=%.2f",(-b+sqrt(b*b-4*a*c))/(2*a));
}
else
printf("\n無實數根\n");
}

8. C語言編寫一個程序求解一元二次方程ax2+bx+c=0的根。要求系數a,b,c從鍵盤輸入在實數范圍

下面是求解一元二次方程的C語言代碼:
#include <stdio.h>
#include <math.h>
int main()
{
double a, b, c, x1, x2, disc;
printf("請輸入一元二次方程的系數a, b, c: ");
scanf("%lf %lf %lf", &a, &b, &c);
disc = b * b - 4 * a * c;
if (disc > 0) {
x1 = (-b + sqrt(disc)) / (2 * a);
x2 = (-b - sqrt(disc)) / (2 * a);
printf("方程的兩個實根為: x1=%.2f, x2=%.2f\n", x1, x2);
} else if (disc == 0) {
x1 = x2 = -b / (2 * a);
printf("方程有兩個相等的實根: x1=x2=%.2f\n", x1);
} else {
printf("方程無實根\n");
}
return 0;
}

在運行程序時,用戶需要從鍵盤輸入方程的系數a, b, c,程序會自動計算辯手並輸出方程的根。其中,如果判別式disc大於0,說明方程有逗蠢兩個不相等的實根;如果判別式等於0,說明方程有兩個相等的實根;山灶陪如果判別式小於0,說明方程無實根。

9. C語言程序設計求方程的解:求ax2+bx+c=0方程的實根

你的問題是當d>0時,順程序看下去自然就有x1>x2,所以if中的鉛緩嵌套if沒有起作用,也就是d=0你就直接歸為輸出no了,下面是我在你的程序基礎上改的,刪去了一些較繁瑣的地方,程序相當簡便,即使你用槐舉模不到也可能對後來人有幫助。
#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c,d;
float x1,x2;
printf("please input 3 numbers:\n");
scanf("%f%f%f",&a,&b,&c);
d=b*b-4*a*c;
if(d>0)
{
d=sqrt(d);
x1=(-b+d)/(2*a);
x2=(-b-d)/(2*a);
printf("答塌%.2f\n%.2f\n",x1,x2);
}
else if ((int)d==0)
{
x1=-b/(2*a);
printf("%.2f\n",x1);
}
else printf("No");
}

10. C語言:求ax^2+bx+c=0方程的解

C語言:求ax^2+bx+c=0方程的解過程讓殲此如下:

#include <stdio.h>
#include <math.h>
int main()
{

// 定義變數
double a, b, c, determinant, root1,root2, realPart, imaginaryPart;
printf("Enter coefficients a, b and c: ");//提示輸入三個參數
scanf("%lf %lf %lf",&a, &b, &c); //輸入三個系數
determinant = b*b-4*a*c; //求出δ的值

// 判斷如果determinant 大於0,方程就有兩個實數改旅根

if (determinant > 0)
{
// sqrt() 函數求出平方根
root1 = (-b+sqrt(determinant))/(2*a);
root2 = (-b-sqrt(determinant))/(2*a);
printf("root1 = %.2lf and root2 = %.2lf",root1 , root2);
}

//有兩個相等的實數根
else if (determinant == 0)
{
root1 = root2 = -b/(2*a);
printf("root1 = root2 = %.2lf;", root1);
坦迅}
//沒有實數根,只有虛數根
else
{
realPart = -b/(2*a); //獲取根的實部
imaginaryPart = sqrt(-determinant)/(2*a);//獲取根的虛部

printf("root1 = %.2lf+%.2lfi and root2 = %.2f-%.2fi", realPart, imaginaryPart, realPart, imaginaryPart); //列印虛數根
}
return 0;
}

測試驗證:

輸入 a, b and c: 2.3
4
5.6
根是: -0.87+1.30i and -0.87-1.30i

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:336
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:378
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:613
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:32
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:107
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:945
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:742
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:803
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:511
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:372