作业帮 > 数学 > 作业

编写C#程序,计算一元二次方程ax^2+bx+c得实根

来源:学生作业帮 编辑:百度作业网作业帮 分类:数学作业 时间:2024/05/24 04:41:48
编写C#程序,计算一元二次方程ax^2+bx+c得实根
有以下几种肯能:
1 :a=0,不是一元二次方程
2:b^2-4ac=0 有两个相等的实根
3:b^2-4ac>0.有两个不等的实根
编写C#程序,计算一元二次方程ax^2+bx+c得实根
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
namespace cacFC
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入系数a");
double a=Convert.ToDouble(Console.ReadLine());
Console.WriteLine("请输入系数b");
double b =Convert.ToDouble(Console.ReadLine());
Console.WriteLine("请输入系数c");
double c =Convert.ToDouble( Console.ReadLine());
try
{
Hashtable myresult = new Hashtable();
if (a == 0)
{
Console.WriteLine("这不是一个一元二次方程.");
if (b == 0)
{
Console.WriteLine("这不是一个方程.");
Console.ReadKey();
}
else
{
Console.WriteLine("这是一个一元一次方程.");
myresult.Add("fist",c / b);
Console.WriteLine("一元一次方程解为:\n");
foreach (DictionaryEntry de in myresult)
{
Console.WriteLine("\t{0}:\t{1}",de.Key,de.Value);
}
Console.ReadKey();
}
}
else
{
Console.WriteLine("这是一个一元二次方程.");
if (b * b - 4 * a * c >= 0)
{
Console.WriteLine("一元二次方程有实数根.");
myresult.Add("fist",(-b + Math.Sqrt(b * b - 4 * a * c)) / (2 * a));
myresult.Add("second",(-b - Math.Sqrt(b * b - 4 * a * c)) / (2 * a));
}
else
{
Console.WriteLine("一元二次方程有复数根.");
myresult.Add("fist",(-b / 2 * a + "+" + Math.Sqrt(Math.Abs(b * b -4 * a * c)) / (2 * a) + "*i"));
myresult.Add("second",(-b / 2 * a + "-" + Math.Sqrt(Math.Abs(b * b - 4 * a * c)) / (2 * a) + "*i"));
}
Console.WriteLine("一元二次方程解为:\n");
foreach (DictionaryEntry de in myresult)
{
Console.WriteLine("\t{0}:\t{1}",de.Key,de.Value);
}
Console.ReadKey();
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
Console.ReadKey();
}
}
}
}
再问: 这不是C#的啊亲!!!!
再答: 这是C#控制台程序。