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()方法:计算指定数的开方。
  • 相关阅读:
    【重要】ASCII码表
    深入了解php opcode缓存原理
    php 请求参数限制
    【Demo】 生成二维码 和 条形码
    【Demo】HTML5 拍照上传
    jq cookie的使用
    vue.js中的v-for输出数组理解
    js无限轮播的写法
    HTML5视频的使用总结
    angular报错总计
  • 原文地址:https://www.cnblogs.com/beimingdaoren/p/12482597.html
Copyright © 2011-2022 走看看