C#求一元二次方程的根

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace 求一元二次方程的根
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private double[] Root2(double a, double b, double c)
        {
            double []Roots=new double[2];
            double Delt=b * b - 4 * a * c;
            if (Delt >= 0)
            {
                Roots[0] = (-b + Math.Sqrt(Delt)) / 2 * a;
                Roots[1] = (-b - Math.Sqrt(Delt)) / 2 * a;
                return Roots;
            }
            else
            {
                Roots = null;
                return Roots;
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (Root2(double.Parse(textBox1.Text), double.Parse(textBox2.Text), double.Parse(textBox3.Text)) == null)
            {
                MessageBox.Show("无实根啊!","错误提示",MessageBoxButtons.OK,MessageBoxIcon.Warning); return;
            }
            textBox4.Text = Root2(double.Parse(textBox1.Text), double.Parse(textBox2.Text), double.Parse(textBox3.Text))[0].ToString();
            textBox5.Text = Root2(double.Parse(textBox1.Text), double.Parse(textBox2.Text), double.Parse(textBox3.Text))[1].ToString();
        }
    }
}
时间: 2024-10-17 22:27:39

C#求一元二次方程的根的相关文章

(31-33)判断两个实型数据是否相等,求一元二次方程的根,逻辑型数据

(31)判断两个实型数据是否相等 1.abs求一个整型数据的绝对值,fabs,求一个浮点型数据的绝对值 (32)求一元二次方程的根 #include<stdio.h>#include<math.h>int main(void){ double a,b,c,d; printf("请依次输入二元一次方程的洗漱:\n"); scanf("%lf%lf%lf",&a,&b,&c); if (a==0) { printf(&qu

求一元二次方程的根

描述 利用公式x1 = (-b + sqrt(b*b-4*a*c))/(2*a), x2 = (-b - sqrt(b*b-4*a*c))/(2*a)求一元二次方程ax2+ bx + c =0的根,其中a不等于0. 输入输入一行,包含三个浮点数a, b, c(它们之间以一个空格分开),分别表示方程ax2 + bx + c =0的系数.输出输出一行,表示方程的解.若b2 = 4 * a * c,则两个实根相等,则输出形式为:x1=x2=....若b2 > 4 * a * c,则两个实根不等,则输出

Openjudge-计算概论(A)-求一元二次方程的根

描述: 利用公式x1 = (-b + sqrt(b*b-4*a*c))/(2*a), x2 = (-b - sqrt(b*b-4*a*c))/(2*a)求一元二次方程ax2 + bx + c =0的根,其中a不等于0.输入第一行是待解方程的数目n. 其余n行每行含三个浮点数a, b, c(它们之间用空格隔开),分别表示方程ax2 + bx + c =0的系数.输出输出共有n行,每行是一个方程的根:若是两个实根,则输出:x1=...;x2 = ...若两个实根相等,则输出:x1=x2=...若是两

1-4-20:求一元二次方程的根

描述 利用公式x1 = (-b + sqrt(b*b-4*a*c))/(2*a), x2 = (-b - sqrt(b*b-4*a*c))/(2*a)求一元二次方程ax2+ bx + c =0的根,其中a不等于0. 输入 输入一行,包含三个浮点数a, b, c(它们之间以一个空格分开),分别表示方程ax2 + bx + c =0的系数. 输出 输出一行,表示方程的解.若两个实根相等,则输出形式为:x1=x2=....若两个实根不等,则输出形式为:x1=...;x2 = ...,其中x1<x2.若

分支-18. 求一元二次方程的根

本题目要求一元二次方程 a*x2+b*x+c=0 的根,结果保留2位小数. 输入格式: 输入在一行中给出3个浮点系数a, b, c,中间用空格分开. 输出格式: 根据系数情况,输出不同结果: 1)如果方程有两个不相等的实数根,则每行输出一个根,先大后小: 2)如果方程有两个不相等复数根,则每行按照格式“实部+虚部i”输出一个根,先输出虚部为正的,后输出虚部为负的: 3)如果方程只有一个根,则直接输出此根: 4)如果系数都为0,则输出"Zero Equation": 5)如果a和b为0,

39.输入任意的a,b,c求一元二次方程ax*x+bx+c=0的根?

//从这个小题中可以熟悉头文件#include<cmath>的使用 //1.题目较为简单,只需运用判断语句即可 //2.注意,声明变量时要想到根的无理性,同时需注意函数结果的强制类型转换,sqrt只支持double和float类型 #include<iostream> #include<cmath>//可以使用一些常用函数 using namespace std; int main() { int a,b,c,d; float x1,x2,x3; cout<<

求一元二次函数的根

总时间限制:1000ms内存限制:65536kB 描述 利用公式x1 = (-b + sqrt(b*b-4*a*c))/(2*a), x2 = (-b - sqrt(b*b-4*a*c))/(2*a)求一元二次方程ax2+ bx + c =0的根,其中a不等于0. 输入 输入一行,包含三个浮点数a, b, c(它们之间以一个空格分开),分别表示方程ax2 + bx + c =0的系数. 输出 输出一行,表示方程的解.若b2 = 4 * a * c,则两个实根相等,则输出形式为:x1=x2=...

求一元二次方程的2个跟

/* * * 需求: * 求一元二次方程的2个跟 * * */ public class Demo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("请输入a,b,c的值:"); int a = sc.nextInt(); int b = sc.nextInt(); int c = sc.nextInt(); int d = (int)

用弦截法求一元三次方程的根x^3-5x^2+16x-80=0 ;带注释!

//用弦截法求一元三次方程的根x^3-5x^2+16x-80=0 #include<stdio.h>#include<math.h> float f(float x) //定义子函数f(x) = x^3-5x^2+16x-80,当f(x) →0时,则x即为所求的实数根:  {     float y;     y=((x-5.0)*x+16.0)*x-80.0;     return(y);          //返回f(x)的值  }    float xpoint( float