编程求ax2+bx+c=0方程的根,要求a,b,c从键盘入手,程序中求出方程的所有解
3个回答
展开全部
#include "stdio.h"
#include "math.h"
void main()
{
float a;
float b;
float c;
//定义一元二次方程3个系数
float x1, x2;
//存一元二次方程的解
float delta ;
//存一元二次方程的判根式
/*从用户处获取输入*/
printf("分别输入3个系数:\n");
scanf("%f%f%f", &a, &b, &c );
delta= b*b - 4*a*c;
printf("△=%f",delta);
if ( delta > 0 )
{
x1 = ( -b + sqrt(delta) ) / (2*a);
x2 = ( -b - sqrt(delta) ) / (2*a);
printf("此方程有两个不同解:\n" );
printf("x1 = %f, x2 = %f\n", x1, x2);
}
else if ( delta == 0)
{
x1 = (-b) / (2*a);
x2 = x1;
printf("此方程有一个解:\n");
printf("x1 = x2 = %f \n", x1);
}
else
{
printf("方程无解\n");
}
}
#include "math.h"
void main()
{
float a;
float b;
float c;
//定义一元二次方程3个系数
float x1, x2;
//存一元二次方程的解
float delta ;
//存一元二次方程的判根式
/*从用户处获取输入*/
printf("分别输入3个系数:\n");
scanf("%f%f%f", &a, &b, &c );
delta= b*b - 4*a*c;
printf("△=%f",delta);
if ( delta > 0 )
{
x1 = ( -b + sqrt(delta) ) / (2*a);
x2 = ( -b - sqrt(delta) ) / (2*a);
printf("此方程有两个不同解:\n" );
printf("x1 = %f, x2 = %f\n", x1, x2);
}
else if ( delta == 0)
{
x1 = (-b) / (2*a);
x2 = x1;
printf("此方程有一个解:\n");
printf("x1 = x2 = %f \n", x1);
}
else
{
printf("方程无解\n");
}
}
展开全部
// 求一元二次方程的根.cpp : Defines the entry point for the console application.
//
#include <stdafx.h>
#include <math.h>
#include <iostream.h>
#include <stdio.h>
void solv_quadr_equa(float a,float b,float c); //函数声明,此函数用于求方程根
int main(int argc, char* argv[])
{ float x,y,z;
printf ("请输入a,b,c三个数"); //系统提示输入三个数
scanf ("%f%f%f",&x,&y,&z); //将三个数赋值给变量x,y,z。
solv_quadr_equa(x,y,z); //调用求根函数进行求解方程根
return 0;
}
void solv_quadr_equa(float a,float b,float c)
{
if(a==0)
if(b==0)
printf("no answer due to input eeor\n");//如果a,b皆为0,提示输入错误
else
printf("the single root is %f\n",-c/b);//如果a=0且b!=0,输出单根-c/b
else //如果a,b皆不为0则按以下步骤求根
{
double disc,twoa,term1,term2;
disc=b*b-4*a*c; //判断式
twoa=2*a; //分母2a
term1=-b/twoa;
term2=sqrt(fabs(disc))/twoa ;
if (disc<0.0) //b方减4ac为负数 无实根,输出虚根的实部和虚部
printf("complex root:\n real part=%f\n image part=%f\n",term1,term2);
else //b方减4ac大于等于0 有两个实根
printf("real root:\n root1=%f\n root2=%f\n",term1+term2,term1-term2);
}
}
用c语言或c++编程。 经编辑链接,测试无错。直接复制到空的工程里面即可运行,呵呵,你试一试,加油。
//
#include <stdafx.h>
#include <math.h>
#include <iostream.h>
#include <stdio.h>
void solv_quadr_equa(float a,float b,float c); //函数声明,此函数用于求方程根
int main(int argc, char* argv[])
{ float x,y,z;
printf ("请输入a,b,c三个数"); //系统提示输入三个数
scanf ("%f%f%f",&x,&y,&z); //将三个数赋值给变量x,y,z。
solv_quadr_equa(x,y,z); //调用求根函数进行求解方程根
return 0;
}
void solv_quadr_equa(float a,float b,float c)
{
if(a==0)
if(b==0)
printf("no answer due to input eeor\n");//如果a,b皆为0,提示输入错误
else
printf("the single root is %f\n",-c/b);//如果a=0且b!=0,输出单根-c/b
else //如果a,b皆不为0则按以下步骤求根
{
double disc,twoa,term1,term2;
disc=b*b-4*a*c; //判断式
twoa=2*a; //分母2a
term1=-b/twoa;
term2=sqrt(fabs(disc))/twoa ;
if (disc<0.0) //b方减4ac为负数 无实根,输出虚根的实部和虚部
printf("complex root:\n real part=%f\n image part=%f\n",term1,term2);
else //b方减4ac大于等于0 有两个实根
printf("real root:\n root1=%f\n root2=%f\n",term1+term2,term1-term2);
}
}
用c语言或c++编程。 经编辑链接,测试无错。直接复制到空的工程里面即可运行,呵呵,你试一试,加油。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
什么语言?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询