zoukankan      html  css  js  c++  java
  • 用c#求一元二次方程

    题目:编一个程序,输入a 、b、c 的值,求出一元二次方程a*x*x+b*x+c=0的二个实数根。

    我的思路:

    我们都知道数学中求一元二次方程有很多方法:直接开方法、配方法、公式法、分解因式法等等,在这里我选择了公式法:

    先判断此一元二次方程有没有解,判别式▲大于0则有2个实数根,等于0则有1个的实数根,小于0则没有实数根
    再利用一元二次方程求根公式得到根值,具体代码如下:

             //取值
                Console.WriteLine("请输入a的值:");
                int a = int.Parse(Console.ReadLine());
                Console.WriteLine("请输入b的值:");
                int b = int.Parse(Console.ReadLine());
                Console.WriteLine("请输入c的值:");
                int c = int.Parse(Console.ReadLine());
    
                //计算根
                double x1,x2;
                if (b * b - 4 * a * c > 0)
                {
    
                    x1 = (-b + Math.Sqrt(b * b - 4 * a * c)) / 2 * a;
                    x2 = (-b - Math.Sqrt(b * b - 4 * a * c)) / 2 * a;
                    Console.WriteLine("一元二次方程{0}*x*x+{1}*x+{2}=0的根为:{3}	{4}", a, b, c, x1, x2);
                }
                else if (b * b - 4 * a * c == 0)
                {
                    x1 = (-b + Math.Sqrt(b * b - 4 * a * c)) / 2 * a;
                    Console.WriteLine("一元二次方程{0}*x*x+{1}*x+{2}=0的根为:{3}", a, b, c, x1);
                }
                else
                {
                    Console.WriteLine("一元二次方程{0}*x*x+{1}*x+{2}=0无解!", a, b, c);
                }
                
                Console.ReadLine();        
    在这里很巧妙的运用了Sqrt()方法:计算指定数的开方。
  • 相关阅读:
    OpenMp之reduction求和
    C++中的字节对齐
    java mail邮件发送(带附件) 支持SSL
    linux下通过命令启动多个终端运行对应的命令和程序
    JAVA数组的定义及用法
    ThreadPoolExecutor使用介绍
    命令拷屏之程序分析
    java实现第五届蓝桥杯供水设施
    java实现第五届蓝桥杯供水设施
    java实现第五届蓝桥杯供水设施
  • 原文地址:https://www.cnblogs.com/beimingdaoren/p/12482597.html
Copyright © 2011-2022 走看看