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

c語言方程組運算

發布時間: 2023-04-14 09:38:35

⑴ 三元一次方程組 公式 c語言

不知你那公式怎麼來的,建議採用線性代數的克萊姆方法來解:
為方便和完善期間,增加一個變數H,把x=,y=,z=那三行和後面那一行
替換為:
H=a*(B*g-C*f)-A*(b*g-c*f)+e*(b*C-c*B);
if(H==0) printf("次方程組無解!");
else
{x=(d*(B*g-C*f)-D*(b*g-c*f)+h*(b*C-c*B))/H;
y=(d*(A*g-C*e)-D*(a*g-c*e)+h*(a*C-c*A))/H;
z=(d*(A*f-B*e)-D*(a*f-b*e)+h*(a*B-b*A))/H;
printf("%lf\n%lf\n%lf",x,y,z);}

試驗一下,不行再問。其實你的變數設置不大好,為了盡量保持原貌,未做改動。

⑵ 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>

int x,y,z;
int main()
{
for(x = 0;x <=20;x ++) {
for(y = 0;y<=33;y++) {
z = 100 -x-y;
if(z%3 == 0 && 5*x+3*y +z/3 == 100) printf("%d %d %d\n",x,y,z);
}
}
return 0;
}

⑷ C語言計算這個方程組,怎麼寫

#include
<stdio.h>
int
main
()
{
double
a1,a2,a3;
double
b1,b2,b3;
char
cx1,cx2;
char
cy1,cy2;
char
dh;
double
sumx,sumy;
printf("請輸入一個表達式:");
scanf("%lf%c%lf%c%c%lf",&a1,&cx1,&a2,&cy1,&dh,&a3);
printf("請敬慧陪輸入另一個表達式:");
scanf("%lf%c%lf%c%c%lf",&b1,&cx2,&b2,&cy2,&dh,&b3);
printf("a1=%lf\na2=%lf\na3=%lf\nb1=%lf\nb2=%lf\nb3=%lf\n",a1,a2,a3,b1,b2,b3);
sumy=(b3*a1-a3*b1)/(a1*b2-a2*b1);
printf("y=%lf\n",sumy);
sumx=(a3-a2*sumy)/a1;
printf("x=%lf\n",sumx);
return
0;
}
/*
系數為1時,要寫上
請輸入一個表達亮蠢式:1x-1y=22.5
請輸入另一個碧褲表達式:10x-1y=0
a1=1.000000
a2=-1.000000
a3=22.500000
b1=10.000000
b2=-1.000000
b3=0.000000
y=-25.000000
x=-2.500000
*/

⑸ 求解n元一次方程組的C語言程序,簡單點的,網上的太復雜了

#include<stdio.h>
intmain(void)
{
inti,j,m,n,r,k=0,t;//i,j,m,k,t作為循環計數變數;n表示有n個未知數,即n元;r表示有r個方程組成方程組。
printf("請輸入未知數個數n和方程的個數: ");
scanf("%d%d",&n,&r);//n表示有n個未知數,即n元;r表示有r個方程組成方程組。
floata[11][20];//用二維數組存儲方程組參數。11和100課改動。這里的程序限10元20個方程的方程組。
printf("請輸入方程組參數 ");
for(j=0;j<n;j++)
for(i=0;i<r+1;i++)
scanf("%f",&a[j][i]);
if(r<n)
printf("方程有無窮解 ");
if(r==n)
{
printf("方程有唯一解 ");
for(t=0;t<n-1;t++)//循環次數:當t=0時,僅將a[1][0],a[2][0],a[2][1]的值轉換為0;t=1時,才將其轉換成最簡型階梯矩陣。
for(m=0;m<n;m++)//m表示第m列
for(j=0;j<n;j++)//j表示第j行
if(j!=m)
{
floatb=a[j][m]/a[m][m];
for(i=0;i<n+1;i++)//因為一行的每個元素均要進行運算等式兩邊才會相等。
a[j][i]-=a[m][i]*b;
}
for(j=0;j<n;j++)//為了將其轉換成單位矩陣,見《線性代數》
{
a[j][n]/=a[j][j];
a[j][j]/=a[j][j];
}
}
for(j=0;j<r;j++)
printf("x[%d]=%f ",j,a[j][n]);//輸出最終結果,即未知數x,y,z...的值。
return0;
}

輸入為:2 2 -1 6 1 -2 4 3 5 7 1 28

即方程組為:

2x+2y- z=6

x-2y+4z=3

5x+7y+ z=28

其正確結果是:x=1,y=3,z=2

⑹ 用c語言編寫程序算方程組

c=x1/3-x2/11-1/33; 這里的1/33改成 1.0/33你看看

⑺ c語言 方程組的解數

#include<stdio.h>
int fun(int m,int n)
{
int a=0;
int i,j;
for(i=0;i<m<n?m:n;i++)
{
for(j=0;j<m<n?m:n;j++)
{
if(i*i+j==n&&i+j*j==m)
a++;
}
}
return a;
}
int main()
{
int m,n,x;
FILE *fp;
fp=fopen("......","r"); /毀激巧/......表示文件路徑
while(!feof(fp))
{
fscanf("%d",&m);
fscanf("%d",&n);
x=fun(m,n);
printf("%d",x); //沒有輸鉛槐出到文纖鍵件,只是在屏幕上輸出。
}
fclose(fp);
return 0;
}

⑻ 如何用C語言解二元一次方程組

設計思路如下:

1、問題描述:

給定一個二元一次方程組,形如:

a * x + b * y = c;

d * x + e * y = f;

x,y代表未知數,a, b, c, d, e, f為參數。

求解x,y。

2、數據規模和約定:

0 <= a, b, c, d, e, f <= 2147483647。

3、設計思路:

二元一次方程組是由兩個含有兩個未知數的方程組成的,要求解,就要把二元轉化為一元。由二元一次方程組的解法思想知,要把二元轉化為一元.

實現的功能代碼如下:

因為在求解過程中只有數之間的運算,而沒有整個式子的運算,因此這種方法被廣泛地用於計算機中。

⑼ 用c語言解方程組

/*

1 -2 1 -1 -2 4

交點坐標為(1.22,0.05),(-1.22,4.95)

Press any key to continue

*/

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

doubleValue(doublex,doublea,doubleb,doublec){
returna*x*x+b*x+c;
}

intmain(){
doublex1,y1,x2,y2;
doublea,b,c,d,e,f,delta;
scanf("%lf%lf%lf%lf%lf%lf",&a,&b,&c,&d,&e,&f);
delta=(b-e)*(b-e)-4*(a-d)*(c-f);
if(delta<0){
printf("二拋物線無交點。 ");
return0;
}
x1=(-(b-e)+sqrt(delta))/(2.0*(a-d));
x2=(-(b-e)-sqrt(delta))/(2.0*(a-d));
y1=Value(x1,a,b,c);
y2=Value(x2,a,b,c);
printf("交點坐標為(%.2lf,%.2lf),(%.2lf,%.2lf) ",x1,y1,x2,y2);
return0;
}