求解一元二次方程
?本篇博客主要是用C語言解決一元二次方程這個問題,首先,我們知道一元二次方程最高次的系數不能為0對吧,那么我們就要考慮到這種情況,如果其系數為0該怎么做,不為0又是什么情況,好,那么我們將最高次系數不為0的情況分出來之后,由于電腦很難進行人為的其他操作,于是我們一般都是讓電腦用求根公式來進行求解,其中包含了根的判別式,這些東西我們都很熟悉,只需要一五一十的用電腦打出來就好了,主要就是分清楚根的判別式不同情況下的不同解決辦法,這道題目基本上就是數學思維,其他的很簡單,只用理清了這個思維,將代碼敲出來就好了,當然,我們在這里將b平方用d表示,主要是簡潔,希望各位不要看混亂。當然,我們這里用的是雙精度浮點數,主要是怕數據太大而導致出現問題。
#include<stdio.h>
#include<math.h>
int main()
{
? ? double a, b, c, x1, x2 , x3 ,x0 ,d;
? ? printf("輸入方程的三個系數:");
? ? scanf("%lf %lf %lf", &a, &b, &c);
? ? if (a != 0)
? ? {
? ? ? ? d = sqrt(b * b - 4 * a * c);
? ? ? ? if (d == 0)
? ? ? ? {
? ? ? ? ? ? x0 = (-b) / (2 * a);
? ? ? ? ? ? printf("%.2lf\n", x0);
? ? ? ? }
? ? ? ? else if(d>0)
? ? ? ? {
? ? ? ? ? ? x1 = (-b + d) / (2 * a);
? ? ? ? ? ? x2 = (-b - d) / (2 * a);
? ? ? ? ? ? printf("%.2lf %.2lf\n", x1, x2);
? ? ? ? }
? ? ? ? else?
? ? ? ? ? ? printf("x無解");
? ? }
? ? else
? ? {
? ? ? ? x3 = -c / b;
? ? ? ? printf("%.2lf\n", x3);
? ? }
? ? return 0;
}
?
總結
- 上一篇: 世界人工智能大会大咖云集,共商赋能传统企
- 下一篇: Freemarker模板和依赖