C++ 二元一次方程组算法

     本算法是个人创作,是基于初中数学的逻辑简单算法。

    算法的思路是消去两个方程的未知数x,算出y,再将y的值带入任意一个方程组算出x。

    程序代码:

#include 
using namespace std;

int main()
{
	float x; float y; float num1x; float num1y; float sum1;
	float sum2; float x2; float y2; float num2x; float num2y;
	cout << "请你设置下方程一x前的系数:" << endl;
	cin >> num1x;
	cout << "请你设置下方程一y前的系数:" << endl;
	cin >> num1y;
	cout << "请你设置下方程一的答案:" << endl;
	cin >> sum1;
	cout << "方程一:" << num1x << "x" << "+" << num1y << "y" << "=" << sum1 << endl;
	//方程一为       num1x*x+num1y * y = sum1
	//同理方程二为   num2x*x+num2y * y = sum2
	cout << "请你设置下方程二x前的系数:" << endl;
	cin >> num2x;
	cout << "请你设置下方程二y前的系数:" << endl;
	cin >> num2y;
	cout << "请你设置下方程二的答案:" << endl;
	cin >> sum2;
	cout << "方程二:" << num2x << "x" << "+" << num2y << "y" << "=" << sum2 << endl;
	//system"puase";

	float num3 = num1x / num2x;         //num3是为了让x前的系数相同,再计算y的值
	float val = num1y - num3 * num2y;  //y之间的差值
	float val2 = sum1 - sum2 * num3;         //sum是指之间系数差值
	y = val2 / val;                //
	x = (sum1 - num1y * y) / num1x;
	cout << "x的值为" << x << endl;
	cout << "y的值为" << y << endl;
	return 0;
}

其实很多算法就是数学的任用,把数学学好,问题会变得更容易!

你可能感兴趣的:(算法,c++)