用C解出简单的方程

用C解出简单的方程

第一种就是一元一次方程ax+b=c,求解x。

ax+b=c;

printf("%lf",x);

我一开始也是这样写,但是最后编译器会出错,我感觉好像是要用具体的数算出未知的数x。而这段代码等号左边既有已知的数又有未知的数,计算机就算不了了。

所以我们只能写成这样:

x=(c-b)/a;

printf("%lf",x);

完整的代码:

#define _CRT_SECURE_NO_WARNINGS 1

#include

int main()

{ //已知方程a*x+b=c,求解x

double a, b, c;

scanf("%lf%lf%lf", &a, &b, &c);

double x = (c - b) / a; //使用浮点数防止结果被整除

printf("%lf", x);

return 0;

}

第二种就是二元一次方程组a*x+b*y=m , c*x+d*y=n,求解x和y

也是同样的道理,分别用已知量表示x和y

这里我就不多说了,直接上代码:

#define _CRT_SECURE_NO_WARNINGS 1

#include

int main()

{ //已知方程a*x+b*y=m , c*x+d*y=n

double a, b, c, d, m, n;

scanf("%lf%lf%lf%lf%lf%lf", &a, &b, &c,&d,&m,&n);

double y = (a * n - m * c) / (a * d - b * c);

double x = (m - b * y) / a; //这里可以引入y,因为现在y已知

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

return 0;

}

第三个是一元二次方程a*x^2+b*x+c=0,求x的解

这里要用到我高中所剩不多的知识------求根公式

目前还有一个问题就是怎么开根号?

这里就要用到我们万能的互联网了。总所周知,我们程序员是最擅长学习的了,有不懂的问题就在网上搜索学习。这也是我觉得最困难和最开心的一件事,不停的努力克服困难并战胜它。这种滋味只有自己亲身体会到了才会发现它的魅力所在。

好了,不多废话。就是sqrt()函数,使用时需要引入数学函数。

这里还有一定值得注意,就是一元二次方程有时有无解的情况,需要我们进行讨论。

现在困难解决了,局势已然明朗:

#define _CRT_SECURE_NO_WARNINGS 1

#include

#include //引入数学函数

int main()

{ //已知方程a*x^2+b*x+c=0 , 求解x

double a, b, c,x1,x2;

scanf("%lf%lf%lf", &a, &b, &c);

int deita = b*b - 4 * a * c;

if (deita < 0)

printf("此方程无解");

else

{

x1 = (-b + sqrt(deita)) / (2 * a);

x2 = (-b - sqrt(deita)) / (2 * a);

printf("x1=%lf\nx2=%lf", x1, x2);

}

return 0;

}

这篇文章的起因呢,是我们老师今天给我们一个鸡兔同笼的问题,用C解决。我刚开始就直接将公式抄进代码,但发现出错了。于是我对这个问题进行了深入的研究,并发表了这篇文章来进行总结。

相关推荐

如果你無法連接或登入 iCloud
365bet体育网

如果你無法連接或登入 iCloud

📅 07-19 👁️ 667
哪个牌子的电饭锅最实用?权威介绍5款市场热评大牌!
实力不俗什么意思
正规beat365app

实力不俗什么意思

📅 07-07 👁️ 4783