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

用c语言求ax^2+bx+c=0方程的解。
#include <stdio.h>
#include <math.h>
#define m 0.000001
int 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;
          printf("%f",x);
     }
     else if ((n<m)&&(n>-m))
     {
         x=(-b)/(2*a);
          printf("%f",x);
     }
     else if (n>0)
     {
         x=((-b)+sqrt(n))/(2*a);
          x2=((-b)-sqrt(n))/(2*a);
          printf("%f\n%f",x,x2);
     }
     else
     {
     q=(-b)/(2*a);
     p=sqrt(-n)/(2*a);
     printf("%f+%fi\n",q,p);
     printf("%f-%fi\n",q,p);
     }
}

时间: 2024-11-21 02:42:07

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

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

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

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

python 练习题:定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程ax^2+bx+c=0的两个解

请定义一个函数quadratic(a, b, c),接收3个参数,返回一元二次方程 ax^2+bx+c=0的两个解. 提示: 一元二次方程的求根公式为: x1 = (-b + math.sqrt((b * b) - (4 * a * c))) / (2 * a)x2 = (-b - math.sqrt((b * b) - (4 * a * c))) / (2 * a) 计算平方根可以调用math.sqrt()函数 # -*- coding: utf-8 -*- # 请定义一个函数quadrati

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

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

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(

java为二次方程式ax^2+bx+c=0设计一个类

public class QuadraticEquationtest //测试类 { public static void main(String[] args) { //三个a,b,c Quadraticequation equation1=new Quadraticequation(1.0,3,1); Quadraticequation.ret(equation1); Quadraticequation equation2=new Quadraticequation(1,2.0,1); Qu

java中根据一元二次方程ax^2+bx+c=0ax 2 +bx+c=0的求根公式 计算出一元二次方程的两个解:

package com.itranswarp.learnjava; /** * 求解 一元二次方程ax^2+bx+c=0 */ public class Main { public static void main(String[] args) { // x*x + 3*x - 4 = 0 double a = 1.0; double b = 3.0; double c = -4.0; // 求平方根可用 Math.sqrt(): // double x = Math.sqrt(2)); //