題目:編一個程序,輸入a 、b、c 的值,求出一元二次方程a*x*x+b*x+c=0的二個實數根。
我的思路:
我們都知道數學中求一元二次方程有很多方法:直接開方法、配方法、公式法、分解因式法等等,在這里我選擇了公式法:
先判斷此一元二次方程有沒有解,判別式▲大於0則有2個實數根,等於0則有1個的實數根,小於0則沒有實數根
再利用一元二次方程求根公式得到根值,具體代碼如下:
//取值 Console.WriteLine("請輸入a的值:"); int a = int.Parse(Console.ReadLine()); Console.WriteLine("請輸入b的值:"); int b = int.Parse(Console.ReadLine()); Console.WriteLine("請輸入c的值:"); int c = int.Parse(Console.ReadLine()); //計算根 double x1,x2; if (b * b - 4 * a * c > 0) { x1 = (-b + Math.Sqrt(b * b - 4 * a * c)) / 2 * a; x2 = (-b - Math.Sqrt(b * b - 4 * a * c)) / 2 * a; Console.WriteLine("一元二次方程{0}*x*x+{1}*x+{2}=0的根為:{3}\t{4}", a, b, c, x1, x2); } else if (b * b - 4 * a * c == 0) { x1 = (-b + Math.Sqrt(b * b - 4 * a * c)) / 2 * a; Console.WriteLine("一元二次方程{0}*x*x+{1}*x+{2}=0的根為:{3}", a, b, c, x1); } else { Console.WriteLine("一元二次方程{0}*x*x+{1}*x+{2}=0無解!", a, b, c); } Console.ReadLine();