本算法是个人创作,是基于初中数学的逻辑简单算法。
算法的思路是消去两个方程的未知数x,算出y,再将y的值带入任意一个方程组算出x。
程序代码:
#include <iostream>
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;
}
其实很多算法就是数学的任用,把数学学好,问题会变得更容易!