用C#编写一个求解一元二次方程的程序

如题……想了半天……刚刚学完条件判断语句。
求解,谢谢!!

double x1 = 0;//解1
double x2 = 0;//解2

Console.WriteLine("求 ax^2+bx+c=0 的解");
Console.Write("请输入a的值:");
double a = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入b的值:");
double b = Convert.ToInt32(Console.ReadLine());
Console.Write("请输入c的值:");
double c = Convert.ToInt32(Console.ReadLine());

double dt = b * b - 4 * a * c; //Δ的值

if (dt < 0)
{
    Console.WriteLine("此方程无实数解.");
}
else if (dt == 0)
{
    x1 = -b / 2 * a;
    Console.WriteLine("方程的解为:x1=x2= " + x1.ToString("F"));  //保留小数点后两位
}
else
{
    x1 = (-b + Math.Sqrt(dt)) / 2 * a;
    x2 = (-b - Math.Sqrt(dt)) / 2 * a;
    Console.WriteLine("方程的解为:x1= " + x1.ToString("F") + ", x2= " + x2.ToString("F"));
}

Console.ReadKey();

温馨提示:内容为网友见解,仅供参考
无其他回答

用C#编写一个求解一元二次方程的程序
double x1 = 0;\/\/解1double x2 = 0;\/\/解2Console.WriteLine("求 ax^2+bx+c=0 的解");Console.Write("请输入a的值:");double a = Convert.ToInt32(Console.ReadLine());Console.Write("请输入b的值:");double b = Convert.ToInt32(Console.ReadLine());Console.Write("请输入c的...

用C# 通过输入一元二次方程的系数,计算方程的根的程序
void math(double a, double b, double c, out double x1, out double x2){ x1=(-b+Math.Sqrt(b*b-4ac))\/(2a);x2=(-b-Math.Sqrt(b*b-4ac))\/(2a);} 调用方法:math(1,2,1,out x1, out x2);x1和x2就是两个根了。以上纯手写代码,可能存在书写错误,请谅解!

C#程序求一元二次方程根
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}...

c#求一元二次方程ax^2+bx+c=0的根,a(a≠0)、b、c的值由键盘输入
} static void Main() { var result = Roots(1, -4, 3); if (result != null) Console.WriteLine($"{result.Value.x1} {result.Value.x2}"); }}其实我不懂为什么不能用一个三元表达式解决,即使改成true?null:null也会报error。static (double x1, double x2)? Ro...

在C#中利用牛顿迭代法求解一元二次方程的根
include <stdio.h> include <math.h> int main(void){ float a,b,c,x,p,q,x1,x2;scanf("%f,%f,%f",&a,&b,&c);b*b-4*a*c>=0;p = (-b)\/(2*a);q = sqrt(b*b-4*a*c)\/(2*a);x1 = p+q;x2 = p-q;printf("x1=%.2f\\nx2=%.2f",x1,x2);return 0;} ...

用C语言编写一个程序,计算一元二次方程的解(x1,x2)。一元二次方程:Ax2...
按顺序输入a,b,c include "stdio.h"include "stdlib.h"include "math.h"int main(){ float a,b,c;scanf("%f",&a);scanf("%f",&b);scanf("%f",&c);printf("%f\\n",(-b+sqrt(b*b-4*a*c))\/2\/a);printf("%f",(-b-sqrt(b*b-4*a*c))\/2\/a);system("pause");return ...

编写求解一元二次方程的C语言程序(红色部分有标注)
if(a==0.0 && b==0.0 && c==0){printf("系数a,b,c不能构成方程!\\n");return 0;}if(a==0){x1=x2=-c\/b;printf("x1=x2=%.4f\\n",x1);return 0;}delta =b*b - 4*a*c; \/\/此处填写delta的计算表达式(这里为红色部分)if( delta >= 0)\/\/此处填写表达式 如果delta>=0...

C#编程求一元二次ax²+bx+c=0的根
Double X2;Console.WriteLine("请输入3个数");try { A = Double.Parse(Console.ReadLine());B = Double.Parse(Console.ReadLine());C = Double.Parse(Console.ReadLine());if (A == 0){ Console.WriteLine("不是一元二次方程");Console.ReadLine();} else { T = B * B - (4 * A...

c语言计算一元二次方程的根
c语言计算一元二次方程的根如下:include<stdio.h>#include<math.h>voidmain(){doublea,b,c;doublex1,x2,p;printf("请输入a,b,c:");scanf("%lf%lf%lf",&a,&b,&c);printf("\\n");p=b*b-4*a*c;x1=(-b+sqrt(p))\/(2*a);。x2=(-b-sqrt(p))\/(2*a);printf("x1=%f,...

VS2010中 C#制作解决一元二次方程的程序
for (int i = -100; i <= 100; i++){ if ((a * (i * i) + (b * i) + c)==0){ txt_r.Text += i.ToString()+",";} } MessageBox.Show("计算完毕");if (txt_r.Text == ""){ txt_r.Text = "方程式无解";} else { txt_r.Text = txt_r.Text.Substring(0,...

相似回答