當前位置:首頁 » 編程語言 » c語言計算2元1次方程
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言計算2元1次方程

發布時間: 2022-05-31 08:12:11

Ⅰ 如何用c語言解二元一次方程組

首先要找到二元一次方程組的通解,例如:ax+by=m cx+dy=n不難算出 x=(md-bn)/(ad-bc) y=(mc-an)/(bc-ad) 這相當於知道了演算法,接下來就可以編程序了:

intmain(){
inta,b,c,d,m,n;
doublex=0,y=0;
scanf("%d,%d,%d,%d,%d,%d",&a,&b,&c,&d,&m,&n);
if(a*d==b*c||b*c==a*d)puts("無解");
else{
x=(m*d-b*n)/(a*d-b*c);
y=(m*c-a*n)/(b*c-a*d);
printf("x=%f,y=%f",x,y);
}
return0;
}

輸入系數,就可以計算了

Ⅱ c語言寫二元一次方程

if(b*b-4*a*c>=0) x1=x1; x2=x2;else x1=0;x2=0;
是不是你這兒沒有用大括弧的原因?

Ⅲ C語言編程,二元一次方程組

首先要找到二元一次方程組的通解,例如:ax+by=m cx+dy=n不難算出 x=(md-bn)/(ad-bc) y=(mc-an)/(bc-ad) 這相當於知道了演算法,接下來就可以編程序了: int main(){int a,b,c,d,m,n;double x=0,y=0;scanf("%d,%d,%d,%d,%d,%d",&a,&b,&c,&d,&m,&n).

Ⅳ c語言求解,求解二元一次方程

#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c;
float x1,x2;
float x3,x4;
float k1,k2,k3;
printf("please input:a,b,c");
scanf("%f%f%f",&a,&b,&c);
k1=b*b;
k2=4*a*c;
k3=sqrt(b*b-4*a*c);
if(fabs(a)<=1e-6)
{
printf("the input is error\n");
return;
}
if(k1>k2)
{
x1=(-b+k3)/(2*a);
x2=(-b-k3)/(2*a);
printf("x1=%.2f,x2=%.2f",x1,x2);
}
else if(k1==k2)
{
x1=x2=(-b+k3)/(2*a);
printf("x1=x2=%.2f",x1);
}
else
{
x3=-b/(2*a);
x4=sqrt(4*a*c-b*b)/(2*a);
printf("x1=%.2f+%.2f i\n",x3,x4);
printf("x2=%.2f-%.2f i\n",x3,x4);
}
給點贊助!}

Ⅳ C語言求二元一次方程,看不懂咩,哪位高手解釋一下啦啦啦啦!!!!(詳細一點的)

第一處:將a、b的值替換為d的值。
第二處:as數列中的第一個數(最小的數)為1,下一行同上。下面那個問號就是兩個方程而已。

第三個是將T的值替換為它的相反數。
第四個是兩個類似方程y=kx的東西,輸入數值的。
沒了。
四處分別是三個問號和一個看不懂的地方,按照順序排的。

Ⅵ 用c語言寫二元一次方程

printf("該一元二次方程有兩個解,x1=%f,x2=%f
",x1,x2);//你引號打錯了啊。。。

Ⅶ 用C語言編寫解二元一次方程的程序

假設的情況:

  1. 輸入沒有錯誤;

  2. x 總是在前面,y 總是在後面;

  3. 不存在某個變數系數為 0 的情況(即總是二元方程);

  4. 不考慮小數,其實考慮小數也簡單,你可以自己思考如何實現。

首先,使用 scanf() 將回車之前的整個字元串掃描進來,放進 str 變數中;

之後,分別以 x y = 為界,找到它們分隔的三個字元串,即從 str 的第一位開始循環,當遇到 'x' 時,停止並將之前的所有字元存到 x 的系數字元串 xStr 中,再從 x 之後開始尋找,遇到 'y' 時將找到的 'x' 與 'y' 之間的字元存到 y 的系數字元串 yStr 中,再向後從 '=' 開始直到結束,存為結果字元串 sumStr。

這樣,我們得到的三個字元串都具有相同的格式,一定可以通過某種方式將其轉換為一個數字,使用同一個函數就可以做到。

對於某個字元串來說,它可能是以負號 '-' 開頭,也可能以正號開頭 '+',也可能沒有符號,也可能為空,分別考慮:以負號開頭的,將其作為負數,以正號開頭或沒有符號的,將其作為正數;為空的字元串將其視為 1。

截取符號之後,如果沒有剩餘字元了,將其視為 1,再與符號相乘,就是最終結果。

如果還有剩餘,那麼之後的字元都是純數字了(不考慮小數),從字元串的最後一位往前開始循環,下標記為 i(從0開始一直到最前面的數字位數),每一位字元記為 ch,則 n=(int)(ch-'0') 就是當前字元所代表的數字,用 n*pow(10, i) 就得到了當前數字的實際值,把所有的乘積都加起來,就得到了總的系數的絕對值,再乘以符號,就得到了系數值。


實現了這個部分之後,假設的情況也可以一一實現了,無非就是標記歸屬的問題。我沒有貼代碼是因為我看到你問的問題非常認真,我希望你可以通過我的描述自己去實現它。這里用到了一些字元串相關的函數,例如 strlen(str) 可以獲得 str 字元串的長度,strncpy(dest, src, 3) 可以將 src 字元串的前三位拷貝到 dest 字元串中,strncpy(dest, src+3, 3) 可以將 src 字元串的 4~7 位拷貝到 dest 字元串中。

Ⅷ c語言表達解二元一次方程

#include
#include
int
main()
{
double
a,b,c;
printf("please
input
a,b,c\n");
scanf("%f,%f,%f",&a,&b,&c);
double
dirt=b*b-4*a*c;
if
(a==0)//兩個==
printf("此方程非二元一次方程");
if
(dirt==0)//兩個==
{
printf("x1,x2=%f",(-b)/(2*a));
}
else//加大括弧
不解釋
{
printf("x1=%f\n",(-b+sqrt(dirt))/(2*a));
printf("x2=%f\n",(-b-sqrt(dirt))/(2*a));
}
return
0;
}
錯誤太多
太基礎
多看書
仔細點
不解釋

Ⅸ C語言求二元一次方程

scanf你的格式要輸入逗號確定輸入了嗎執行到輸出此方程非二元一次方程就應該退出了 if里應該用雙等號 if(a==0)下面還有一個