您的位置:首页 > 其它

函数解一元二次方程

2015-06-17 09:09 197 查看
public int qiufangcheng(int a, int b, int c, out double x1, out double x2)
{
int jieguo = 0;
x1 = 0;
x2 = 0;
if (a == 0)
{
jieguo = -1;
}
else
{
int dert = b * b - 4 * a * c;
if (dert < 0)
{
jieguo = 0;
}
if (dert == 0)
{
jieguo = 1;
x1 = -b / 2 * a;
x2 = -b / 2 * a;
}
if (dert > 0)
{
jieguo = 2;
x1 = (-b + Math.Sqrt(dert)) / 2 * a;
x2 = (-b - Math.Sqrt(dert)) / 2 * a;
}
}
return jieguo;
}

static void Main(string[] args)
{
while (true)
{
Console.Write("a=");
int a = int.Parse(Console.ReadLine());
Console.Write("b=");
int b = int.Parse(Console.ReadLine());
Console.Write("c=");
int c = int.Parse(Console.ReadLine());
double x1;
double x2;
int jieguo = new Program().qiufangcheng(a, b, c, out x1, out x2);
if (jieguo == 0)
{
Console.WriteLine("无实根");
}
if (jieguo == -1)
{
Console.WriteLine("不是一元二次方程");
}
if (jieguo == 1)
{
Console.WriteLine("相等的根x1={0},x2={1}", x1, x2);
}
if (jieguo == 2)
{
Console.WriteLine("两个不相等的根x1={0},x2={1}", x1, x2);
}
}

Console.ReadLine();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: