1. 請問大家怎麼有c語言編出一道解二元一次方程組的程序,例如
首先要找到二元一次方程組的通解,例如:
ax+by=m
cx+dy=n
不難算出
x=(md-bn)/(ad-bc)
y=(mc-an)/(bc-ad)
這相當於知道了演算法,接下來就可以編程序了:
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);
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);
getch();
}
輸入系數,就可以計算了
2. 我有一個C語言解二元一次方程組的程序需要解釋說明
#include<iostream>//包含頭文件iotream,forcin,cout,endl
usingnamespacestd;//引入名字空間,這樣cin,cout,endl就不需要使用std::
voidprintHelp()//輸出顯示信息(引號內的內容,endl為換行)
{
cout<<"方程組格式:"<<endl
<<"格式ax+by=c"<<endl
<<"格式dx+ey=f"<<endl;
}
intmain()
{
printHelp();//調用函數,顯示信息
doublec;//定義double型變數c,d,e,f,a,b
doubled;
doublee;
doublef;
doublea;
doubleb;
cout<<"a=";
cin>>a;//從鍵盤輸入一個整數放在變數a里
cout<<"b=";
cin>>b;//讀取鍵盤輸入,數據存入b變數中
cout<<"c=";
cin>>c;
cout<<"d=";
cin>>d;
cout<<"e=";
cin>>e;
cout<<"f=";
cin>>f;
if(a*e==b*d)//如果的數據中a乘以e等於b乘以d相等的話
{
cout<<"不存在唯一解!"<<endl;
return-1;//退出程序,退出碼為-1
}
doublex=(e*c-b*f)/(a*e-b*d);//計算右邊的表達式,結果存入x,y
doubley=(c*d-a*f)/(b*d-a*e);
cout<<"x="<<x<<endl;//輸出x,y
cout<<"y="<<y<<endl;
return0;
}
3. c語言編寫二元一次方程組求解,菜鳥級,幫忙指出錯誤,謝謝
x y 的值始終為0吧?
你可以在if前面分別顯示下
x*a[0][0]+y*a[0][1]
a[0][2]
x*a[1][0]+y*a[1][1]
a[1][2]
這些的值,看看if的兩個條件是否滿足
囧死了,原來是兩元一次。。前面看錯了
按標准形式
ax+by=m
cx+dy=n
x=(md-bn)/(ad-bc)
y=(mc-an)/(bc-ad)
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);
getch();
如果你要想用x y循環求解的話。就和上面i j一樣用for循環做
4. C語言二元一次方程組為什麼總是無解
#include<stdio.h>
#include<math.h>
intmain(void)
{
doublea,b,c,d,e,f;
scanf("%lf%lf%lf%lf%lf%lf",&a,&b,&c,&d,&e,&f);
doublex,y;
doubleO;
O=a/d;
doubleX;
X=b/e;
doubleZ;
Z=c/f;
if(O==X==Z)
{
printf("原方程組有無數的解 ");
}
elseif((O==X&&X!=Z)||(O==Z&&Z!=X)||(Z==X&&X!=O))
{
printf("原方程組無解 ");
}
else
{
x=(c*e-b*f)/(b*d-a*e);
y=(a*f-c*d)/(b*d-a*e);
printf("原方程組有唯一解,x=%f,y=%f ",x,y);
}
return0;
}
你的定義有問題,a,b,c,d,e,f都是整型,但是X,Y,O是浮點型。你又把整型賦值給浮點型是有問題的。這編譯的時候可能沒錯,能夠通過,但實際應用時就可能出錯。
else if的判斷句有問題修改下
(O==X&&X!=Z)||(O==Z&&Z!=X)||(Z==X&&X!=O)
5. 用C語言寫個求解二元一次方程組的程序
你說的是一般二元一次方程組嗎?
如:
ax+by+c=0?
6. c語言 二元一次方程求根
s=0是賦值語句,s==0才是比較語句。
望採納。。。。。。
7. 求一個用c語言編寫的能解二元一次方程組的程序,希望不要是復制粘貼別處的
/*一.關於自動解一元二次方程*/
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
double a,b,c,del,k;
s:
printf ("a=");scanf ("%lf",&a);
printf ("b=");scanf ("%lf",&b);
printf ("c=");scanf ("%lf",&c);
del=pow (b,2)-4*a*c;
if (a==0) if (b==0&&c==0) printf ("If you want,it can be anything~");
else if (b==0&&c!=0) {printf ("Get out,don't ask me!
");exit (0);}
else printf ("%.0lfX+%.0lf=0
X=%lf",b,c,-c/b);//a為0時為一元一次方程
else if (0==del) printf ("有唯一解:%lfX^2+%lfX+%lf=0
X=%lf",a,b,c,-b/(2*a));//del等於0
else if (0>del) printf ("無實數解!");
else printf ("%lfX^2+%lfX+%lf=0
X1=%lf
X2=%lf",a,b,c,(-b+sqrt(del))/2*a,(-b-sqrt(del))/2*a);
printf ("
continue?");
scanf ("%d",&k);if (k==1) goto s;
return 0;
}
8. c語言 二元一次方程組
到底是一元二次還是二元一次
9. 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).
10. C中編一個程序求一個二元一次方程的解
首先要找到二元一次方程組的通解,例如:
ax+by=m
cx+dy=n
不難算出
x=(md-bn)/(ad-bc)
y=(mc-an)/(bc-ad)
這相當於知道了演算法,接下來就可以編程序了:
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);
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);
getch();
}
輸入系數,就可以計算了
上面是求二元一次方程的根,根據「三種情況」不知你是否是想求一元二次方程的根,這里也給出程序供參考:
#include<stdio.h>
#include<math.h>
main()
{
int a,b,c;
float x1,x2,k;
printf("\n input a,b,c:");
scanf("%d%d%d",&a,&b,&c);
if(a==0)
{ x1=-c/b;
printf("\njie:x=%f",x1);
}
else
{ k=sqrt(b*b-4*a*c);
if(fabs(k-0.0)>=1e-6)
{ x1=((-b)+k)/2*a;
x2=((-b)-k)/2*a;
printf("\njie:x1=%8.3f,x2=%8.3f",x1,x2);
}
else
{ x1=(-b)/2*a;
x2=k/2*a;
printf("\njie:x1=%4.2f+%4.2fi ,x2=%4.2f-%4.2fi");
}
}
}
這個我試過了,OK!