Нахождение корней квадратного уравнения (исправить код) - C#
Формулировка задачи:
так чтобы при отрицательном дискриминате программа выводила сообщение "Нет корней. Если дискриминат равен 0 то программа должна выводить только одно решение а не 2 одинаковых.
язык С#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{//программа решающая квадратные уравнения
double a, b, c;
Console.WriteLine("a*x^2+b*x+c=0");
Console.WriteLine("Введите a:");
a = Convert.ToSingle(Console.ReadLine());
Console.WriteLine("Введите b:");
b = Convert.ToSingle(Console.ReadLine());
Console.WriteLine("Введите c:");
c = Convert.ToSingle(Console.ReadLine());
double D = Math.Sqrt(b * b - 4 * a * c);
double x1 = (-b + D) / 2 * a;
double x2 = (-b - D) / 2 * a;
Console.WriteLine("x1={0}", Math.Round(x1, 2));
Console.WriteLine("x2={0}", Math.Round(x2, 2));
Console.ReadKey();
if (Math.Sqrt(b * b - 4 * a * c) < 0)
{
Console.WriteLine("Корней нет");
}
else
{
Console.WriteLine("x1={0}", Math.Round(x1, 2));
Console.WriteLine("x2={0}", Math.Round(x2, 2));
}
}
}
}Решение задачи: «Нахождение корней квадратного уравнения (исправить код)»
textual
Листинг программы
Console.WriteLine("Enter a");
double a = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Enter b");
double b = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Enter c");
double c = Convert.ToDouble(Console.ReadLine());
double D = b * b - 4 * a * c;
if (D > 0)
{
double x1 = (-b - Math.Sqrt(D)) / 2 * a;
double x2 = (-b + Math.Sqrt(D)) / 2 * a;
Console.WriteLine("x1 = {0}, x2 = {1}", x1, x2);
}
if (D == 0)
{
double x = - b / (2 * a);
Console.WriteLine("x = {0}", x);
}
if (D < 0)
{
Console.WriteLine("No value!");
}
Console.ReadKey();