
用C#2005编写程序:
问题是:求一元二次方程ax2+bx+c=0的根各位大侠,怎样用控制台程序实现啊,还是大侠们把代码打下来吧...
问题是: 求一元二次方程ax2+bx+c=0的根
各位大侠,怎样用控制台程序实现啊,还是大侠们把代码打下来吧 展开
各位大侠,怎样用控制台程序实现啊,还是大侠们把代码打下来吧 展开
展开全部
代码:
public static void Main()
{
double a, b, c;
Console.Write("请输入a的值:");
a = Convert.ToDouble(Console.ReadLine());
Console.Write("请输入b的值:");
b = Convert.ToDouble(Console.ReadLine());
Console.Write("请输入c的值:");
c = Convert.ToDouble(Console.ReadLine());
Console.WriteLine(a + "x^2+" + b + "x+" + c + "=0");
double d = b * b - 4 * a * c;
double x1, x2;
if (d > 0)
{
x1 = (-b - Math.Sqrt(d)) / 2.0 / a;
x2 = (-b + Math.Sqrt(d)) / 2.0 / a;
Console.WriteLine("方程有两个不同的实根\nx1={0}\nx2={1}", x1, x2);
}
else if (d == 0)
{
x1 = x2 = (-b) / 2.0 / a;
Console.WriteLine("方程有两个相同的实根\nx1={0}\nx2={1}", x1, x2);
}
else
{
double i = Math.Sqrt(-d) / 2.0/a;
x1 = x2 = -b / 2.0 / a;
Console.WriteLine("方程有两个复根\nx1={0}-{1}i\nx2={2}+{3}i", x1, i, x2, i);
}
}
public static void Main()
{
double a, b, c;
Console.Write("请输入a的值:");
a = Convert.ToDouble(Console.ReadLine());
Console.Write("请输入b的值:");
b = Convert.ToDouble(Console.ReadLine());
Console.Write("请输入c的值:");
c = Convert.ToDouble(Console.ReadLine());
Console.WriteLine(a + "x^2+" + b + "x+" + c + "=0");
double d = b * b - 4 * a * c;
double x1, x2;
if (d > 0)
{
x1 = (-b - Math.Sqrt(d)) / 2.0 / a;
x2 = (-b + Math.Sqrt(d)) / 2.0 / a;
Console.WriteLine("方程有两个不同的实根\nx1={0}\nx2={1}", x1, x2);
}
else if (d == 0)
{
x1 = x2 = (-b) / 2.0 / a;
Console.WriteLine("方程有两个相同的实根\nx1={0}\nx2={1}", x1, x2);
}
else
{
double i = Math.Sqrt(-d) / 2.0/a;
x1 = x2 = -b / 2.0 / a;
Console.WriteLine("方程有两个复根\nx1={0}-{1}i\nx2={2}+{3}i", x1, i, x2, i);
}
}
展开全部
不是有公式吗?直接用公式就行~ 没必要用解微分方程的方法吧~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我有
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
解方程都是用二分法
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询