我已经创建了这个方程求解器(我知道这很令人困惑,也许我犯了一些愚蠢的错误,但是我最近才开始), 但它不起作用。它不会在控制台上打印x1和x2。 你能帮我吗?
Console.WriteLine("input the coefficent a");
double a = int.Parse(Console.ReadLine());
Console.WriteLine("input the coefficent b");
double b = int.Parse(Console.ReadLine());
Console.WriteLine("input coefficent c");
double c = int.Parse(Console.ReadLine());
double D = Math.Pow(b,2) - 4*(a*c);
Console.WriteLine(D);
double x1;
double x2;
if (Convert.ToBoolean(D = 0))
{
x1 = Convert.ToInt32((-b)) / (2 * Convert.ToInt32(a));
x2 = Convert.ToInt32((-b)) / (2 * Convert.ToInt32(a));
Console.WriteLine(x1);
Console.WriteLine(x2);
}
else if (Convert.ToBoolean(D > 0))
{
x1 = (-b - (Math.Sqrt( Math.Pow(b,2) - 4 * a * c)) / 2 * a);
x2 = (-b + (Math.Sqrt(Math.Pow(b,2) - 4 * a * c)) / 2 * a);
Console.WriteLine(x1);
Console.WriteLine(x2);
}
else if (Convert.ToBoolean(D < 0))
Console.WriteLine("the equation has no real roots");
输出为:
输入系数a
1 输入系数b
3
输入系数c
2
1
每个连续曲的内容。 。
答案 0 :(得分:2)
INNER JOIN
不是您想要的。它将0分配给D,返回0并将其转换为false。您需要if(Convert.ToBoolean(D = 0))
以及if (D == 0)
和else if(D > 0)
单个=分配变量,==比较变量。
您也不需要在if子句中强制转换为布尔值,如果您需要这样做,则您应该三思而后行。