精华内容
下载资源
问答
  • 一元二次方程求解

    2021-01-06 00:04:21
    一元二次方程求解 c语言实现 输入三个参数,分别为二次项系数、一次项系数和常数项系数,输出方程的解; 判断二次项系数是否为0,为0时提示错误; 根据根判别式确定根的情况: delta>0 有两个不相等的实数根 ...

    一元二次方程求解

    c语言实现

    输入三个参数,分别为二次项系数、一次项系数和常数项系数,输出方程的解;
    判断二次项系数是否为0,为0时提示错误;
    根据根判别式确定根的情况:
    delta>0 有两个不相等的实数根
    delta=0 有两个相等的实数根
    delta<0 有两个共轭复根(虚数)

    #include<stdio.h>
    #include<math.h>
    //求根函数 
    void solve_equ(double a , double b, double c)
    {
    	double x1,x2,delta,ch1,ch2;
    	if(a==0)
    	{
    	printf("该方程不是二次方程,请重新输入:\n");	
    	printf("-----------------------\n");
    	}
    	else{ 
    	delta=b*b-4*a*c;
    	if(delta>0)
    	{   
    		x1=(((-1)*b+sqrt(delta))/(2*a));
    		x2=(((-1)*b-sqrt(delta))/(2*a));
    		printf("该方程的根为:\n");
    		printf("x1=%.3lf x2=%.3lf\n",x1,x2);
    		printf("-----------------------\n");
    	}
    	else if(delta==0)
    	{
    		x1=((-1)*b)/(2*a);
    		x2=x1;
    		printf("该方程的根为:\n");
    		printf("x1=%.3lf x2=%.3lf\n",x1,x2);
    		printf("-----------------------\n");
    	}
    	else if(delta<0)
    	{
    		x1=((-1)*b)/(2*a);
    		delta=(-1)*delta;
    		ch1=sqrt(delta)/(2*a);
    		ch2=(-1)*(sqrt(delta)/(2*a));
    		printf("该方程的根为:\n");
    		printf("x1=%.3lf+%.3lfi x2=%.3lf%.3lfi\n",x1,ch1,x1,ch2);
    		printf("-----------------------\n");
    	}
    }
    } 
    //主函数 
    void main() 
    {
    	printf("方程形式为:a*x*x + b*x + c = 0\n") ;
    	double a,b,c;
    	while(1)
    	{
    	printf("请输入abc的值(以空格隔开):\n");
    	scanf("%lf%lf%lf",&a,&b,&c);
    	solve_equ(a,b,c);
        }
    	
     } 
    

    运行结果:
    在这里插入图片描述

    展开全文
  • C4-3 一元二次方程求解   (70/100 分数) 题目描述 对于一元二次方程ax^2 + bx + c = 0,解可以分为很多情况。 若该方程有两个不相等实根,首先输出1,换行,然后从小到大输出两个实根,换行; 若...

    C4-3 一元二次方程求解

     
    (70/100 分数)
    题目描述

    对于一元二次方程ax^2 + bx + c = 0,解可以分为很多情况。

    若该方程有两个不相等实根,首先输出1,换行,然后从小到大输出两个实根,换行;

    若该方程有两个相等实根,首先输出2,换行,然后输出这个这个实根,换行;

    若该方程有一对共轭复根,输出3,换行;

    若该方程有无解,输出4,换行;

    若该方程有无穷个解,输出5,换行;

    若该方程只有一个根,首先输出6,换行,然后输出这个跟,换行;

    要求使用c++ class编写程序。可以创建如下class

    #include <iostream>
    #include <cmath>
    using namespace std;
    class Equation{
    private:
        int _a, _b, _c;
    public:
        Equation(int a, int b, int c){
        }
        void solve(){
        }
    };
    int main(){
        int a, b, c;
        cin >> a >> b >> c;
        Equation tmp(a, b, c);
        tmp.solve();
    }
    




    输入描述

    该一元二次方程的系数a,b,c,且-100=<a,b,c<=100

    输出描述

    解的情况。输出解的时候保留两位小数

    样例输入

    1 4 3
    样例输出
    1
    

    -3.00 -1.00

    #include <iostream>
    #include <cmath>
    #include <iomanip>
    using namespace std;
    
    
    class Equation{
    private:
        double _a, _b, _c;
    public:
        Equation(double a, double b,double c){
        	_a=a;
        	_b=b;
        	_c=c;
        }
        void solve(){
        	if(_a!=0&&_b*_b-4*_a*_c>0){
        		double xa,xb;
        		xa=(-_b-sqrt(_b*_b-4*_a*_c))/(2*_a); 
        		xb=(-_b+sqrt(_b*_b-4*_a*_c))/(2*_a);
        		cout<<"1\n";
        		cout<<fixed<<setprecision(2)<<xa<<" "<<xb<<endl;
        	}
        	else if(_a!=0&&_b*_b-4*_a*_c==0){
        		double xa;
        		xa=-_b/(2*_a);
        		cout<<"2\n";
        		cout<<fixed<<setprecision(2)<<xa<<endl;
        	}
        	else if(_a!=0&&_b*_b-4*_a*_c<0){
        		cout<<"3\n";
        	}
        	else if(_a==0&&_b==0&&_c!=0){
        		cout<<"4\n";
        	}
        	else if(_a==0&&_b==0&&_c==0){
        		cout<<"5\n";
        	}
        	else if(_a==0&&_b!=0){
        		cout<<"6\n";
        		cout<<fixed<<setprecision(2)<<-_c/_b<<endl;
        	}
        	
        }
    };
    int main(){
        double a, b, c;
        cin >> a >> b >> c;
        if(a<-100||a>100||b<-100||b>100||c<-100||c>100)  return false;
        else{
        	Equation tmp(a, b, c);
            tmp.solve();
        }
        return 0;
    }

    这题不知道为什么得不了满分,求大家帮我解决一下
    展开全文
  • 对于一元二次方程ax^2 + bx + c = 0,解可以分为很多情况。 若该方程有两个不相等实根,首先输出1,换行,然后从小到大输出两个实根,换行; 若该方程有两个相等实根,首先输出2,换行,然后输出这个这个实根,换行;...

    题目描述
    对于一元二次方程ax^2 + bx + c = 0,解可以分为很多情况。

    若该方程有两个不相等实根,首先输出1,换行,然后从小到大输出两个实根,换行;

    若该方程有两个相等实根,首先输出2,换行,然后输出这个这个实根,换行;

    若该方程有一对共轭复根,输出3,换行;

    若该方程有无解,输出4,换行;

    若该方程有无穷个解,输出5,换行;

    若该方程只有一个根,首先输出6,换行,然后输出这个跟,换行;

    要求使用c++ class编写程序。

    #include <iostream>
    #include <cmath>//sqrt开平方函数需要用到的头文件
    #include<iomanip>//保留小数点后两位需要的头文件
    using namespace std;
    
    class Equation{
    private:
    	int _a, _b, _c;
    public:
    	Equation(int a, int b, int c){//构造函数
    		_a = a;
    		_b = b;
    		_c = c;
    	}
    	void solve();//成员函数
    };
    
    void Equation::solve(){//类外实现成员函数
    	double a = _a, b = _b, c = _c;
    	if (a == 0){
    		if (b == 0){
    			if (c == 0)
    				cout << 5 << endl;
    			else
    				cout << 4 << endl;
    		}
    		else{
    			cout << 6 << endl;
    			cout << fixed << setprecision(2) << -c / b << endl;
    			/*<< fixed << setprecision(2)表示保留小数点后两位*/
    		}
    	}
    	else{
    		double delta = b*b - 4 * a*c;
    		if (delta > 0){
    			cout << 1 << endl;
    			double i = (-b + sqrt(b*b - 4 * a*c)) / (2 * a);
    			double j = (-b - sqrt(b*b - 4 * a*c)) / (2 * a);
    			if (i > j){//为了满足题目条件:结果按从大到小的顺序输出
    				double temp;
    				temp = i;
    				i = j;
    				j = temp;
    			}
    			cout << fixed << setprecision(2) << i <<" "<< j << endl;
    		}
    		else if (delta = 0){
    			cout << 2 << endl;
    			cout << fixed << setprecision(2) << -b / (2 * a) << endl;
    		}
    		else
    			cout << 3 << endl;
    	}
    }
    
    int main(){
    	int a, b, c;
    	cin >> a >> b >> c;
    	Equation tmp(a, b, c);
    	tmp.solve();
    	return 0;
    }
    
    展开全文
  • 一元二次方程求解 使用c++ class编写

    千次阅读 2017-07-07 09:16:34
    对于一元二次方程ax^2 + bx + c = 0,解可以分为很多情况。 若该方程有两个不相等实根,首先输出1,换行,然后从小到大输出两个实根,换行; 若该方程有两个相等实根,首先输出2,换行,然后输出这个这个实根,...

    对于一元二次方程ax^2 + bx + c = 0,解可以分为很多情况。

    若该方程有两个不相等实根,首先输出1,换行,然后从小到大输出两个实根,换行;

    若该方程有两个相等实根,首先输出2,换行,然后输出这个这个实根,换行;

    若该方程有一对共轭复根,输出3,换行;

    若该方程有无解,输出4,换行;

    若该方程有无穷个解,输出5,换行;

    若该方程只有一个根,首先输出6,换行,然后输出这个跟,换行;

    #include <iostream>
    #include <cmath>
    #include <iomanip>
    using namespace std;
    class Equation{
    private:
    	int _a, _b, _c;
    public:
    	Equation(int a, int b, int c){
    		_a=a;
    		_b=b;
    		_c=c;
    	}
    	void solve(){
    		double i;
    		i=(_b*_b-4*_a*_c);
    		if (_a==0)
    		{
    			double j=-_c/_b;
    			cout<<"6"<<endl;
    			cout<<setprecision(2)<<fixed<<j<<endl;
    		}
    		if (_a==0&&_b==0)
    		{
    			cout<<"4"<<endl;
    		}
    		if (_a==0&&_b==0&&_c==0)
    		{
    			cout<<"5"<<endl;
    		}
    
    		if (i==0)
    		{
    			double j;
    			j=-_b/_a/2.0;
    			cout<<"2"<<endl;
    			cout<<setprecision(2)<<fixed<<j<<endl;
    		}else if (i>0)
    		{
    			double j,k;
    			j=(-_b+sqrt(i))/2.0/_a;
    			k=(-_b-sqrt(i))/2.0/_a;
    			cout<<"1"<<endl;
    			if (j<k)
    			{
    				cout <<setprecision(2)<<fixed<<j<<" "<<setprecision(2)<<k<<endl;
    			}else{
    				cout<< setprecision(2)<<fixed<<k<<" "<<setprecision(2)<<j<<endl;
    			}
    
    		}else if (i<0)
    		{
    			cout<<"3"<<endl;
    		}
    	}
    };
    int main(){
    	int a, b, c;
    	cin >> a >> b >> c;
    	Equation tmp(a, b, c);
    	tmp.solve();
    	system("pause");
    	return 0;
    }



    展开全文
  • 对于一元二次方程ax^2 + bx + c = 0,解可以分为很多情况。 若该方程有两个不相等实根,首先输出1,换行,然后从小到大输出两个实根,换行; 若该方程有两个相等实根,首先输出2,换行,然后输出这个这个实根,换行...
  • 输入一个一元二次方程的系数 a, b, c,求解方程的根。 分析: 1、一元二次方程标准形式: (a ≠ 0) 其中: 是二次项,a 是二次项系数; 是一次项;b 是一次项系数;c 是常数项 2、根据一元二次方程根...
  • 7E解一元二次方程

    2016-10-23 21:43:38
    求解一元二次方程,要注意它本身是否有解,所以要分判别式大于等于0,和判别式小于0两种情况。还要学会当判别式小于0时,复根求解方法
  •  这是一个一元二次方程,但是我们要把它变成我们熟悉的形式,我们把它变成标准形式,当然,标准形式就是。为了变成那样,我们要让,从右边消失,右边只想要0,所以,方程两边都减去,左边就变成: 有很多方法...
  • 设计一个复数类,可以实现有关复数操作,并应用该复数类求解一元二次方程的两个复根 complex.h #include <iostream> #include<math.h> using namespace std; class CComplex { private: double real, ...
  • 6.15 第种边界条件的三样条函数插值、微商与积分 6.16 第三种边界条件的三样条函数插值、微商与积分 6.17 二元三点插们 6.18 二元全区间插值 第7章 数值积分 7.1 数值积分类设计 7.2 变步长梯形求枳法 7.3 变...
  • 第8章 插值与逼近 8.1 一元全区间插值 8.2 一元三点插值 8.3 连分式插值 8.4 埃尔米特插值 8.5 特金逐步插值 8.6 光滑插值 8.7 第一种边界条件的三样条函数插值 8.8 第种边界条件的三样条函数插值 8.9 第三种...
  • 7.12 求实函数或复函数方程一个复根的蒙特卡洛法 7.13 求非线性方程组一组实根的蒙特卡洛法 第8章 插值与逼近 8.1 一元全区间插值 8.2 一元三点插值 8.3 连分式插值 8.4 埃尔米特插值 8.5 特金逐步插值 8.6 光滑插值...
  • 线性代数方程组的求解115 3.1 求解实系数方程组的全选主元高斯消去法115 3.2 求解实系数方程组的全选主元高斯\|约当消去法119 3.3 求解复系数方程组的全选主元高斯消去法124 3.4 求解复系数方程组的全选主元高斯\|...
  • 7.12 求实函数或复函数方程一个复根的蒙特卡洛法 7.13 求非线性方程组一组实根的蒙特卡洛法 第8章 插值与逼近 8.1 一元全区间插值 8.2 一元三点插值 8.3 连分式插值 8.4 埃尔米特插值 8.5 特金逐步插值 8.6 光滑插值...
  • 7.12 求实函数或复函数方程一个复根的蒙特卡洛法 7.13 求非线性方程组一组实根的蒙特卡洛法 第8章 插值与逼近 8.1 一元全区间插值 8.2 一元三点插值 8.3 连分式插值 8.4 埃尔米特插值 8.5 特金逐步插值 8.6 光滑插值...
  • C#数值计算算法编程 代码

    热门讨论 2009-12-11 11:31:58
    6.15 第种边界条件的三样条函数插值、微商与积分 6.16 第三种边界条件的三样条函数插值、微商与积分 6.17 二元三点插们 6.18 二元全区间插值 第7章 数值积分 7.1 数值积分类设计 7.2 变步长梯形求枳法 7.3 变...
  • 科学与工程数值计算算法

    热门讨论 2010-12-21 12:45:03
    4.13 求实函数或复函数方程的一个复根的蒙特卡洛法 4.14 求非线性方程组一组实根的蒙特卡洛法 第5章 插值 5.1 插值类设计 5.2 一元全区间不等距插值 5.3 一元全区间等距插值 5,4 一元三点不等距插值 ...
  • 7.12 求实函数或复函数方程一个复根的蒙特卡洛法 7.13 求非线性方程组一组实根的蒙特卡洛法 第8章 插值与逼近 8.1 一元全区间插值 8.2 一元三点插值 8.3 连分式插值 8.4 埃尔米特插值 8.5 特金逐步插值 8.6 光滑插值...
  • C++常用算法程序集

    热门讨论 2011-03-24 09:15:32
    4.13 求实函数或复函数方程一个复根的蒙特卡洛法265 4.14 求非线性方程组一组实根的蒙特卡洛法269 第5章 插值与逼近274 5.1 Lagrange插值274 5.2 连分式插值277 5.3 埃尔米特插值281 5.4 埃特金逐步插值284 5.5 光滑...
  • 7.12 求实函数或复函数方程一个复根的蒙特卡洛法 7.13 求非线性方程组一组实根的蒙特卡洛法 第8章 插值与逼近 8.1 一元全区间插值 8.2 一元三点插值 8.3 连分式插值 8.4 埃尔米特插值 8.5 特金逐步插值 8.6 光滑插值...
  • 7.12 求实函数或复函数方程一个复根的蒙特卡洛法 7.13 求非线性方程组一组实根的蒙特卡洛法 第8章 插值与逼近 8.1 一元全区间插值 8.2 一元三点插值 8.3 连分式插值 8.4 埃尔米特插值 8.5 特金逐步插值 8.6 光滑插值...
  • 4.13 求实函数或复函数方程一个复根的蒙特卡洛法265 4.14 求非线性方程组一组实根的蒙特卡洛法269 第5章 插值与逼近274 5.1 Lagrange插值274 5.2 连分式插值277 5.3 埃尔米特插值281 5.4 埃特金逐步插值284 5.5 光滑...
  • 线性代数方程组的求解 6.1 求解实系数方程组的全选主元高斯消去法 6.2 求解实系数方程组的全选主元高斯-约当消去法 6.3 求解复系数方程组的全选主元高斯消去法 6.4 求解复系数方程组的全选主元高斯-约当...
  • 配书光盘Readme文件 C 语言通用范例开发金典 第1章 数据结构. 1 1.1 数组和字符串 2 1.1.1 一维数组的倒置 2 范例1-1 一维数组的倒置 2 ∷相关函数:fun函数 1.1.2 一维数组应用 3 ...∷相关函数:asin...
  • C语言通用范例开发金典.part2.rar

    热门讨论 2012-08-31 14:18:18
    资源简介 第1章 数据结构. 1 1.1 数组和字符串 2 1.1.1 一维数组的倒置 2 范例1-1 一维数组的倒置 2 ∷相关函数:fun函数 1.1.2 一维数组应用 3 范例1-2 一维数组应用 3 ...2.1.6 求反正切 ...
  • C 开发金典

    2013-06-20 16:20:03
    配书光盘Readme文件 C 语言通用范例开发金典 第1章 数据结构. 1 1.1 数组和字符串 2 1.1.1 一维数组的倒置 2 范例1-1 一维数组的倒置 2 ∷相关函数:fun函数 1.1.2 一维数组应用 3 ...2.1.2 求浮点数的...
  • C语言通用范例开发金典.part1.rar

    热门讨论 2012-08-31 14:09:26
    第1章 数据结构. 1 1.1 数组和字符串 2 1.1.1 一维数组的倒置 2 范例1-1 一维数组的倒置 2 ∷相关函数:fun函数 1.1.2 一维数组应用 3 范例1-2 一维数组应用 3 1.1.3 一维数组的高级应用 5 ...
  • 过点(x1,f(x1))做曲线y = f(x)的切线,并求该切线与x轴的横坐标 x2 = x1-f(x1)/f'(x1),称x2为r的二次近似值。重复以上过程,得r的近似值序列,其中x(n+1)=x(n)-f(x(n))/f'(x(n)),称为r的n+1次近似值,上式称为...

空空如也

空空如也

1 2
收藏数 31
精华内容 12
关键字:

一元二次方程复根求解