ax2+bx+c=0的根的算法

每日一练作业

写一个函数,接受三个整数a, b, c,计算ax2+bx+c=0 的根。

另外,在计算时应当判断 b2 - 4ac 是否大于0。

我们什么都没有,唯一的本钱就是青春。梦想让我与众不同,奋斗让我改变命运!

package com.yirose.java8.string;

public class CalculateRoot {

    public static void main(String[] args) {

        //解:求一元二次方程ax2+bx+c=0的根的算法步骤是

        // [Step 1] 输入3个系数a,b,c;
        int a = 5;
        int b = 11;
        int c = 5;

        // [Step 2] 计算△=b2-4ac;
        int v = (int) Math.pow(b, 2) - 4 * a * c;

        // [Step 3] 判断 △ ≥ 0是否成立;
        if (a == 0 && b == 0 && v < 0) {
            System.out.println("方程不成立或方程没有实数根,请重新输入:");
        } else {
            double p = b / (2 * a);
            double q = Math.sqrt(v) / (2 * a);

            // [Step 4];
            if (v == 0) {
                System.out.println("x1=x2=" + p);
            } else {
                System.out.println("x1=p+q x1=" + (p + q));
                System.out.println("x2=p-q x2=" + (p - q));
            }
        }
    }
}
时间: 2024-10-17 23:12:40

ax2+bx+c=0的根的算法的相关文章

输入系数a、 b、 c, 求解一元二次方程ax2+bx+c=0的根

#include<iostream> using namespace std; #include<cmath> int main() { float a,b,c; double x1,x2,s; cout<<"please enter the num:"; cin>>a>>b>>c; if(b*b-4*a*c>=0) { x1=(-b+sqrt(b*b-4*a*c))/(2*a); x2=(-b-sqrt(b

【C语言】求方程ax^2+bx+c=0的根

//求方程ax^2+bx+c=0的根 #include <stdio.h> #include <math.h> int main() { float a,b,c,dis,x1,x2; printf("请输入a,b,c的值: "); scanf("%f %f %f",&a,&b,&c); dis=b*b-4*a*c; if(dis<0) { printf("该函数无实根.\n"); return

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

【c语言】求方程式 ax^2+bx+c=0 的根,分别考虑:1、有两个不等的实根 2、有两个相等的实根

// 求方程式 ax^2+bx+c=0 的根,分别考虑:1.有两个不等的实根 2.有两个相等的实根 #include <stdio.h> #include <math.h> int main() { int d; int a,b,c; double x,y; double f; printf("请输入a,b,c:"); scanf("%d%d%d",&a,&b,&c); d = b*b-4*a*c; f = sqrt(

ax^2+bx+c=0的根

#include <stdio.h>#include <math.h>int main(){ double a,b,c,disc,x1,x2,p,q; scanf("%lf%lf%lf",&a,&b,&c); disc=b*b-4*a*c; if(disc<0)  printf("This equation hasn't real roots\n"); else {  p=-b/(2.0*a);  q=sqrt(

请定义一个函数 quadratic(a, b, c),接收 3 个参数,返回一元二次方程: ax2 + bx + c = 0 的两个解

import math # 定义一个函数,接受三个参数,返回一个一元二次方程的两个解 def quadratic(a,b,c): m=b*b-4*a*c if m>=0: x=(-b+math.sqrt(m))/(2*a) y=(-b-math.sqrt(m))/(2*a) return x,y else: return 'no answer!' print(quadratic(2,3,1)) # 快速复制到下一行,CTR+D. print(quadratic(1,3,1)) print(qua

求二元一次方程ax^2+bx+c=0的根

刚开始写的程序里还定义了x1,x2两个变量 后面发现根本不需要这两个变量 代码如下:

一元二次方程ax2+bx+c=0,a,b,c的值由键盘输入请编写等程序求下列方式的解

3xvn1y慌铝撼眉姑共<http://weibo.com/20180413p/230927983206707477876736> ixzp81搅吞杆菜案榷<http://weibo.com/20180413p/230927983044219952177152> 9v5055纠坪踊杂簇腺<http://weibo.com/iPbrVGVp/230927983025193389658112> 60zxtu挡幢拱撬街詹<http://weibo.com/OICNZgF

用c语言求ax^2+bx+c=0方程的解

用c语言求ax^2+bx+c=0方程的解.#include <stdio.h>#include <math.h>#define m 0.000001int main(){     float a,b,c,x,x2,n,q,p;     scanf ("%f%f%f",&a,&b,&c);     n=b*b-4*a*c;     if ((a<m)&&(a>-m))     {         x=(-c)/b