采用C語言編程解方程,有兩種情況:
專注于為中小企業(yè)提供網(wǎng)站制作、成都網(wǎng)站設(shè)計服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)昭化免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上千余家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
1 簡單的方程,比如一元一次方程,或者多元一次方程,以及一元二次方程等,這類數(shù)學(xué)上有固定的解題方法的,可以在程序中輸入?yún)?shù),并按照數(shù)學(xué)方法,進行求解。
2 復(fù)雜的方程,比如高次方程,或者積分方程等,對于這類問題,在數(shù)學(xué)上有著自己的解法,但是移植到計算機中操作會比較繁瑣,不易于編程實現(xiàn)。所以這類方程在計算機領(lǐng)域中,專門開發(fā)了更高效的算法,不適于筆算,但更符合計算機的工作方式。這時需要查找或?qū)W習(xí)對應(yīng)算法并實現(xiàn)。
#include?"stdio.h"?
#include?"math.h"?
/*求一元二次方程ax*x+bx+c=0的解*/?
main()?
{?
float?a,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("方程沒有實數(shù)解。\n");?
if?(d==0)?
{?
x1=(-b)/(2*a);?
printf("x1=%f\n",x1);?
}?
if?(d0)?
{?
x1=(-b+sqrt(d))/(2*a);?
x2=(-b-sqrt(d))/(2*a);?
printf("x1=%f,x2=%f\n",x1,x2);}?
}
請輸入a:12
請輸入b:34
請輸入c:4
x1=-0.122985,x2=-2.710348
Press?any?key?to?continue
#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;
}
void
main()
{
float
a,b,c;
printf("請依次輸入方程的三個系數(shù):\n");
scanf("%f%f%f",a,b,c);
p=b*b-4*a*c;
printf("方程是:%.1f*x*x
+
%.1f*x
+
%.1f
=
0\n",a,b,c);
if(p0)
{
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("方程無解");
}