if语句之求一元二次方程

思路:1、首先明白什么叫做一元二次方程,当a不等于0的时候,此方程是一元二次方程

2、根据公式derta=b*b-4*a*c来判断根的情况

①derta>0时,方程有两个不相等的实根

②derta=0时,方程有两个相等的实根

③derta<0时,方程无实根

3、首先先判断此方程是不是一元二次方程,如果是,在判断根的情况

Console.WriteLine("求方程式a*x*x+bx+c=0");
            Console.WriteLine("请输入a=");
            double a=Convert.ToDouble(  Console.ReadLine());

            Console.WriteLine("请输入b=");
            double b = Convert.ToDouble(Console.ReadLine());

            Console.WriteLine("请输入c=");
            double c =Convert.ToDouble( Console.ReadLine());

            double zz= b*b-4*a*c;//定义一个变量 b的平方-4ac

            if (a != 0)//先判断一元二次方程是否成立
            {
                Console.WriteLine("该方程式为一元二次方程");
                if (zz > 0)
                {
                    Console.WriteLine("该方程有两个不同的实根");
                    double x1 = (-b + Math.Sqrt(zz)) / (2 * a);//Math.sqrt()是求根类
                    double x2 = (-b - Math.Sqrt(zz)) / (2 * a);
                    Console.WriteLine(x1);
                    Console.WriteLine(x2);
                }
                else if (zz == 0)
                {
                    Console.WriteLine("该方程二个相同的跟");
                    double x1 = (-b + Math.Sqrt(zz)) / (2 * a);
                    Console.WriteLine(x1);

                }
                else
                {
                    Console.WriteLine("该一元二次方程无解");
                }

            }

            else
            {
                Console.WriteLine("该方程式不是一个一元二次方程");
            }

时间: 2024-10-12 20:27:18

if语句之求一元二次方程的相关文章

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<<

求一元二次方程的根

描述 利用公式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=...若是两

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

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.若

求一元二次方程的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)

求一元二次方程

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication3 { class Program { static void Main(string[] args) { double a, b, c,X1,X2; //定义变量 Console.WriteLine("----

Python编写“求一元二次方程的解”

#求一元二次方程的解 import math def equation(a,b,c): h=b*b-4*a*c #一元二次方程的解,百度来的 if h>=0: x1=(-b+math.sqrt(h))/2*a #sqrt函数求平方根 x2=(-b-math.sqrt(h))/2*a print('x1=%.2f'%x1,'x2=%.2f'%x2) else: print('方程无解') equation(1,2,1) 原文地址:https://www.cnblogs.com/lengjf/p/9

一本通1058:求一元二次方程

今天在刷题时发现了一个题(见一本通题库1058),有同学在群中问,题目不难,只要有初中知识就可解决.下面是题目: 1058:求一元二次方程 看到这道题,芳源心想“好一道水题”就简单的做了一遍(下见代码): 1 #include <iostream> 2 #include <cstdio> 3 #include <cmath> 4 using namespace std; 5 int main() 6 { 7 double a,b,c; 8 double t; 9 cin