求方程 ax^2+bx+c=0的根,用3個函數分別求當: b^2-4ac大於0、等於0和小於0時的根並輸出結果。從主函數輸入a,b,c的值


求方程 \({ax}^2+bx+c=0\)的根,用3個函數分別求當: \(b^2-4ac\)大於0、等於0和小於0時的根並輸出結果。從主函數輸入a,b,c的值

題目解析

根據disc = \(b^2-4ac\) 的值來決定如何求根,題目本身編程不難,不過需要同學們復習一下高中的數學知識哦。

代碼示例

#include<stdio.h>
#include<math.h>

//x1為第一個根,x2為第二個根
float x1, x2, disc, p, q;

void greater_than_zero(float a, float b)
{
	float m = sqrt(disc);
	x1 = (-b + sqrt(disc)) / (2 * a);
	x2 = (-b - sqrt(disc)) / (2 * a);
}

void equal_to_zero(float a, float b)
{
	x1 = x2 = (-b) / (2 * a);
}

void smaller_than_zero(float a, float b)
{
	p = -b / (2 * a);
	q = sqrt(-disc) / (2 * a);
}

int main()
{
	int a, b, c;
	printf("請輸入 a b c:");
	scanf("%d %d %d", &a, &b, &c);

	printf("表達式為: %d*x^2+%d*x+%d = 0\n", a, b, c);
	disc = b*b - 4 * a*c;

	if (disc > 0)
	{
		greater_than_zero(a, b);
		printf("disc>0的根為: x1=%f    x2=%f\n", x1, x2);
	}
	else if (disc == 0)
	{
		equal_to_zero(a, b);
		printf("disc==0的根為:x1=%f    x2=%f\n", x1, x2);
	}
	else
	{
		smaller_than_zero(a, b);
		printf("disc<0的根為:x1=%f+%f x2=%f-%f\n", p, q, p, q);
	}
	return 0;
}

運行結果:

求方程 ax^2+bx+c=0的根,用3個函數分別求當: b^2-4ac大於0、等於0和小於0時的根並輸出結果。從主函數輸入a,b,c的值


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 編寫一個求方程ax^2+bx+c=0的根的程序,用3個函數分別求當b^2-4ac大於零、等於零和小於零時的方程的根。要求從主函數輸入a、b、c的值並輸出結果-簡單 求方程ax2+bx+c=0的根,用3個函數分別求當: b2−4ac大於0、等於0和小於0時的根並輸出結果從主函數輸入a,b,c的值 求方程 的根,用三個函數分別求當b^2-4ac大於0、等於0、和小於0時的根,並輸出結果。從主函數輸入a、b、c的值 求方程 的根,用三個函數分別求當b2-4ac大於0、等於0、和小於0時的根,並輸出結果。從主函數輸入a、b、c的值。 【C語言】求方程ax^2+bx+c=0的根, a,b,c由鍵盤輸入。 用自頂向下、逐步細化的方法進行以下算法的設計 輸出1900---2000年中是軟黏的年份,符合下面兩個條件之一的年份是閏 求$ax^2 + bx + c = 0$的根。分別考慮$d = b^2 - 4ac$大於0、等於0和小於0這三種情況 輸入10個數,輸出其中最大的一個數。 用牛頓迭代法求根。方程為ax^3+bx^2 +cx+d=0,系數a,b,c,d的值依次為1,2,3,4,由主函數輸人。求x在1附近的一個實根。求出根后由主函數輸出 8.12 用牛頓迭代法求根。方程為:ax^3+bx^2+cx+d=0 ,系數a,b,c,d由主函數輸入。求X在1附近的一個實根。求出后由主函數輸出. Python程序計算ax^2+bx+c=0方程根 python 練習題:定義一個函數quadratic(a, b, c),接收3個參數,返回一元二次方程ax^2+bx+c=0的兩個解
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM