當前位置:首頁 » 編程語言 » c語言解一元二次方程代碼

c語言解一元二次方程代碼

發布時間: 2022-09-14 00:24:37

1. 求一元二次方程根的c語言源代碼

#include "stdio.h"
#include "math.h"
double x1,x2,p;

float file1(float a,float b)
{
x1=(-b+sqrt(p))/2*a;
x2=(-b-sqrt(p))/2*a;
return 0;
}

float file2(float a,float b)
{
x1=x2=(-b+sqrt(p))/2*a;
return 0;
}

main()
{
float a,b,c;
scanf("%f%f%f",&a,&b,&c);
p=b*b-4*a*c;
printf("方程是:%.3f*x*x+%.3f*x+%.3f=0\n",a,b,c);
if(p>0)
{
file1(a,b);
printf("X1=%f\tX2=%f\n",x1,x2);
}
else if(p==0)
{
file2(a,b);
printf("X1=%f\tX2=%f\n",x1,x2);
}
else printf("方程無解");
}

2. c語言編寫一元2次方程。

程序想法沒錯,但設計的時候有點失誤。
void
main()
{
float
a=0,b=0,c=0,d=0,x1=0,x2=0,e=0;/*定義變數*/
printf("axe2+bx+c=0,(a,b,c):\n");/*提示輸入3個數*/
scanf("%f,%f,%f",&a,&b,&c);/*輸入的時候用float型
*/
e=sqrt(d);/*根號d
*/
x1=(-b+e)/(2*a);/*計算方程,公式有點不點,邏輯*/
x2=(-b-e)/(2*a);/*計算方程*/

printf("\n
positive:\n
x1=%f,\n
negative:\nx2=%f",x1,x2);/*輸出x1
x2,輸出的時候也要用float型*/
}
else
printf("equation");/*方程無解*/
getch();
}

//經修改,可以正常運行,

還有建議下,你就在定義變數的時候不要一大串一起定義類型,

有時候變數的類型是不無法隱型轉換的,就會出錯。

就像程序裡面的,開根號又不一定都開出個整數,大多都是帶小數的,就應該定義成float型,

最後的解也會直接化成帶小數的,要是你用long(長整型,也是整型的一種),

那小數點後面就將被程序自動省略,那問題可就大了,呵呵,。

還在做為printf輸出的時候,要給點提示,不然人家也不知道,這a,b,c是幹嘛用的。

3. 一元二次方程求根C語言代碼

#include "math.h"
如:9的平方根的代碼:sqrt (9)值是:3
你的代碼中,m定義的是整型變數。而它的賦值符右邊是單精度運算。

4. C語言編寫一個求一元二次方程的實根的程序,該怎麼寫

步驟:

  1. 打開visual C++ 6.0-文件-新建-文件-C++ Source File

2.

定義變數:

#include <stdio.h>

#include <math.h>

void main()

{

double a,b,c; /*定義系數變數*/

double x1,x2,p; /*定義根變數和表達式的變數值*/

5. c語言一元二次方程編程是怎麼樣的

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。

形如x=p或(nx+m)=p(p≥0)的一元二次方程可採用直接開平方的方法解一元二次方程.如果方程化成x²=p的形式,那麼可得x=±p;(x²=p,x=±根號p)如果方程能化成(nx+m)=p(p≥0)的形式,那麼nx+m=±p。


簡潔的語言:

C語言包含的各種控制語句僅有9種,關鍵字也只有32個,程序的編寫要求不嚴格且以小寫字母為主,對許多不必要的部分進行了精簡。

實際上,語句構成與硬體有關聯的較少,且C語言本身不提供與硬體相關的輸入輸出、文件管理等功能,如需此類功能,需要通過配合編譯系統所支持的各類庫進行編程,故c語言擁有非常簡潔的編譯系統。

提供的控制語句具有結構化特徵,如for語句、if...else語句和switch語句等。可以用於實現函數的邏輯控制,方便麵向過程的程序設計。



6. C語言編寫一個求一元二次方程的實根的程序。

步驟:

  1. 打開visual C++ 6.0-文件-新建-文件-C++ Source File

2.

定義變數:

#include <stdio.h>

#include <math.h>

void main()

{

double a,b,c; /*定義系數變數*/

double x1,x2,p; /*定義根變數和表達式的變數值*/

7. 求解一元二次方程的解的c語言程序

#include<stdio.h>

#include<math.h>

int main()

{ double a,b,c,d;

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

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

if(d<0)

printf("方程沒有實數根! ");

else if(d==0)

{ printf("方程有兩個相等的實數根: ");

printf("x1=x2=%g ",-b/(2*a));

}

else

{ printf("方程有兩個不相等的實數根: ");

printf("x1=%g x2=%g ",(-b-sqrt(d))/(2*a),(-b+sqrt(d))/(2*a));

}

return 0;

}

8. 怎樣用C語言編一個解一元二次方程的程序

這個只能計算已經化簡成aX^2+bX+c=0的一元二次方程


intfun(doublea,doubleb,doublec,double*x1,double*x2)//由於方程既可能無解也可能有兩個解,所以不能直接返回X的值
{
doublep=b*b-4*a*c;//計算Δ
if(p<0)
{
return0;//方程無解,返回0
}
p=√p//求Δ的平方根
*x1=……//用求根公式計算X1
*x2=……//用求根公式計算X2
return1;//方程有解,返回1
}


就這些了,求根公式和求平方根函數我忘了,你自己查一下。頭文件要加一個<math.h>。

9. C語言,求一元二次方程的解

對於如下的一元二次方程:

ax*x+bx+c=0

設計C語言程序,輸入一元二次方程的三個系數a、b、c,求解出該方程的兩個根,並且允許用戶在程序中多次輸入不同的系數,以求解不同的一元二次方程的解。

編程思路分析:

對於該方程,令delta=b^2-4*a*c,從數學的角度來講,我們需要根據delta的值來判斷該方程的根情況:

當delta>=0時,其兩個根為實數解,分別為(-b+sqrt(delta))/(2*a)和(-b-sqrt(delta))/(2*a);

當delta<0時,其兩個根為復數解,實部皆為-b/(2*a),虛部分別為sqrt(-delta)/(2*a)和-sqrt(-delta)/(2*a)。

其中,sqrt(delta)代表對delta作開根號運算。

在代碼設計中,可定義一個結構體Complex存儲該方程的根,在該結構體中包括實部和虛部兩個變
在程序中,定義兩個Complex類型的根x1和x2,當delta>=0時,兩個根的虛部為0,否則,分別求解兩個根的虛部值。
具體編程如下:

#include"stdio.h"
#include"math.h"
/*求一元二次方程ax*x+bx+c=0的解*/
main()
{floata,b,c,x1,x2,d;
printf("請輸入a:");
scanf("%f",&a);
printf("請輸入b:");
scanf("%f",&b);
printf("請輸入c:");
scanf("%f",&c);
d=b*b-4*a*c;if(d<0)
printf("方程沒有實數解。 ");
if(d==0){x1=(-b)/(2*a);
printf("x1=%f ",x1);}
if(d>0){x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%f,x2=%f ",x1,x2);}}
請輸入a:12
請輸入b:34
請輸入c:4
x1=-0.122985,x2=-2.710348
Pressanykeytocontinue

為迭代序列。

10. 用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);
}

熱點內容
滑鼠如何編程 發布:2025-05-16 02:29:09 瀏覽:815
安卓70能用什麼軟體 發布:2025-05-16 01:45:09 瀏覽:480
編程發展史 發布:2025-05-16 01:38:52 瀏覽:528
android圖片氣泡 發布:2025-05-16 01:38:40 瀏覽:886
文件加密編輯器下載 發布:2025-05-16 01:30:41 瀏覽:343
linuxapacheyum安裝 發布:2025-05-16 01:30:31 瀏覽:476
大連賓利浴池wifi密碼是多少 發布:2025-05-16 01:25:36 瀏覽:172
緩存數據生產服務 發布:2025-05-16 01:08:58 瀏覽:585
普通電腦伺服器圖片 發布:2025-05-16 01:04:02 瀏覽:971
伺服器地址和埠如何區分 發布:2025-05-16 01:03:17 瀏覽:834