题目:编一个程序,输入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 - * a * c > )
{ x1 = (-b + Math.Sqrt(b * b - * a * c)) / * a;
x2 = (-b - Math.Sqrt(b * b - * a * c)) / * a;
Console.WriteLine("一元二次方程{0}*x*x+{1}*x+{2}=0的根为:{3}\t{4}", a, b, c, x1, x2);
}
else if (b * b - * a * c == )
{
x1 = (-b + Math.Sqrt(b * b - * a * c)) / * 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();
在这里很巧妙的运用了Sqrt()方法:计算指定数的开方。
05-08 15:19