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<<"please input a,b and c: "<<endl;
    cin>>a>>b>>c;

    d=b*b-4*a*c;
    if(d>0)
    {
        x1=((-b+(float)sqrt(d))/(2*a));//开根号函数的使用,注意强制类型转换
        x2=((-b-(float)sqrt(d))/(2*a));
        cout<<"方程有两个解:"<<endl;
        cout<<"x1="<<x1<<" x2="<<x2<<endl;
    }else if(d==0)
    {
        cout<<"方程有一个解:"<<endl;
        x3=((-b)/(2*a));
        cout<<"x="<<x3<<endl;
    }else
    {
        cout<<"方程没有解。"<<endl;
    }
    return 0;
}

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

时间: 2024-10-24 05:35:09

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

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

Console.WriteLine("求解方程ax^2+bx+c=0的解."); Console.WriteLine("请分别输入a,b,c的值(注意每输入一个值按一下回车):"); double a = double.Parse(Console.ReadLine()); double b = double.Parse(Console.ReadLine()); double c = double.Parse(Console.ReadLine()); double d

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

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

【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

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

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=...若是两

求一元二次方程的根

描述 利用公式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,则两个实根不等,则输出

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="); d

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)