如何用C语言程序解方程?

如何用C语言程序解方程?,第1张

#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("方程没有实数解。\n") 

if (d==0) 

x1=(-b)/(2*a) 

printf("x1=%f\n",x1) 

if (d>0) 

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

采用C语言编程解方程,有两种情况:

1 简单的方程,比如一元一次方程,或者多元一次方程,以及一元二次方程等,这类数学上有固定的解题方法的,可以在程序中输入参数,并按照数学方法,进行求解。

2 复杂的方程,比如高次方程,或者积分方程等,对于这类问题,在数学上有着自己的解法,但是移植到计算机中 *** 作会比较繁琐,不易于编程实现。所以这类方程在计算机领域中,专门开发了更高效的算法,不适于笔算,但更符合计算机的工作方式。这时需要查找或学习对应算法并实现。

#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("请依次输入方程的三个系数:\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(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("方程无解")

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12202431.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存