使用C#解决二元一次方程问题

二元一次方程式

ax+by+c=0(a、b≠0)

通解

首先判断b*b-4*a*c是否大于0,如果小于零,则无解
如果大于0,
假设方程解为x1,x2
x1=-b+根号下b*b-4*a*c/2*a
x2=-b-根号下b*b-4*a*c/2*a

使用代码表示

double a;
double b;
double c;
Console.WriteLine("请输入三个数的值:");
a = Convert.ToDouble(Console.ReadLine());
b = Convert.ToDouble(Console.ReadLine());
c = Convert.ToDouble(Console.ReadLine());
if (Math.Pow(a,2)-4*a*c>=0)
	{
      Console.WriteLine("x1=" + (-b + Math.Sqrt(Math.Pow(b, 2) - 4 * a * c)) / 2 * a);
      Console.WriteLine("x2=" + (-b - Math.Sqrt(Math.Pow(b, 2) - 4 * a * c)) / 2 * a);
    }
     else
     	{
          Console.WriteLine("此方程无解!!!");
        }
        Console.ReadKey();

二元一次方程组

通解

若:ax+by=m
cx+dy=n
则:
x=(bn-dm)/(bc-ad)
y=(an-cm)/(ad-bc)
            double a, b, m, c, d, n;
            Console.WriteLine("请依次输入所有值:");
            a = Convert.ToDouble(Console.ReadLine());
            b = Convert.ToDouble(Console.ReadLine());
            m = Convert.ToDouble(Console.ReadLine());
            c = Convert.ToDouble(Console.ReadLine());
            d = Convert.ToDouble(Console.ReadLine());
            n = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("x=" + (b * n - d * m) / (b * c - a * d));
            Console.WriteLine("y=" + (a * n - c * m) / (a * d - b * c));
            Console.ReadKey();

猜你喜欢

转载自blog.csdn.net/qq_41601327/article/details/88996692
今日推荐