本文图片为Base64,请确保你的浏览器支持!!
项目源地址:https://gitee.com/hank9999/jie_eryuans_first_equation_group__c
这里只是略略思路
构思
做一个程序,我们首先要知道,我们想用程序做什么,我们改怎么写
解二元一次方程组,基本上就是数学计算,主要就是看算法
基本环境准备
下载并安装vs2017(十几个GB,请确保C盘空间充足)
构思
构思算法,写出算法
课本图
构思程序,将算法添加入程序
正式开写!
写出大体程序框架
1 |
|
定义变量
1 | double a = 0.0, b = 0.0, c = 0.0, d = 0.0, e = 0.0, f = 0.0, x = 0.0, y = 0.0; |
根据数学课本上的方法求出a’22 和b’2
定义变量e2 f2 代替a’22 和b’2
1 | double e2 = 0.0, f2 = 0.0; |
用scanf输入,因为vs2017对scanf有警告,所以用scanf_s
1 | scanf_s("%lf,%lf,%lf,%lf,%lf,%lf", &a,&b,&c,&d,&e,&f); |
然后到课本算法出场的时候了
1 | if (a != 0) |
如果a=0,那我们可以直接通过c/b求出y
那么带入第二个方程式,就可以求出x了
那么a=0的话,解已经出来了
我们继续写a不等于0的时候
如果a不等于0且e2不等于0我们才能继续
在从网上找来个算法二
1 | x2 = (c*e - b * f) / (a*e - b * d); //x |
emmmm算法一和二差别真大果然矩阵NB
输出也带在算法里了
在 scanf前加几个提示
1 | printf("二元一次方程计算程序\n"); |
后续版本,加了判断,只有方程符合才继续执行
判断条件来自百度百科
1 | if ((a / d) != (b / e)) |
程序代码,具体请去gitee看https://gitee.com/hank9999/jie_eryuans_first_equation_group__c
1 |
|