C语言编程,二元一次方程组?

C语言编程,二元一次方程组?,第1张

#include<stdio.h>

main()

{

double a1,b1,c1,a2,b2,c2,x,y

printf("请依次输入A1、B1、C1、A2、B2、C2\n")

scanf("%lf%lf%lf%lf%lf%lf",&a1,&b1,&c1,&a2,&b2,&c2)

x=(c1*b2-b1*c2)/(a1*b2-b1*a2)

y=(c1*a2-a1*c2)/(b1*a2-a1*b2)

printf("x=%lf,y=%lf\n",x,y)

}

首先要找到二元一次方程组的通解,例如: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)

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)

}

return 0

}

输入系数,就可以计算了

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器以及超级电脑等作业平台。

C语言之所以命名为C,是因为 C语言源自Ken Thompson发明的B语言,而 B语言则源自BCPL语言。

直接使用2次方程的解公式:(-b±√(b²-4ac))/2

1.输入a,b,c的值

2.先计算delta=b²-4ac的结果。

3.判断delta,<0时无实数解,=0时有唯一解,>0时有2个解。

4.根据3的判断结果,计算 (-b±√(b²-4ac))/2

#include <iostream>

using namespace std

int main() {

  double a, b, c

  double x1, x2

  cout << "输入a,b,c:"

  cin >> a >> b >> c

  double delta = b*b -4*a*c

  if (delta<0) {

    cout << "方程无实数解" << endl

  } else if (delta<0.00000001) {//double类型的数据,不要直接判断==0,

                                //因为有时数据很小,但不等于0,计算机表示不了

                                //所以设定一个精度值,这里随便用了0.00000001,

                                //当delta小于这个精度时,就认为=0

     x1 = x2 = -b/2.0

     cout << "方程有唯一解:x1=x2=" << x1 << endl

  } else {//delta > 0,有2个解

     x1 = (-b + delta)/2.0

     x2 = (-b - delta)/2.0

     cout << "方程解x1 = " << x1 << ", x2 = " << x2 << endl

  }

  return 0

}


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

原文地址:https://54852.com/yw/11128560.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存