c语言简单编程之一元二次方程怎么解
#include #include int main(void) { double a,b,c,x1,x2,d; scanf("%lf%lf%lf",&a,&b,&c); d = b * b - 4 * a * c; if(d > 0) { x1 = (-1 * b + sqrt(d)) / (2 * a); x2 = (-1 * b - sqrt(d)) / (2 * a); printf("x1 = %g,x2 = %gn",x1,x2); }
现在让我来和大家一起分享C语言简单编程之一元二次方程求解吧
材料/工具
C语言,电脑
一楼的程序有误。数据类型错了。运行的例子是刚巧“碰对了”。 不然的话输入系数:4 -4 -3就出错了。 应作修改如下: 第5、7、14行改为: double a,b,c,d,x1,x2; scanf("%lf%lf%lf",&a,&b,&c); printf("x1 = %g , x2 = %gn",x1,x2);
方法
输入# include
#include #include int main(void) { double a,b,c,x1,x2,d; scanf("%lf%lf%lf",&a,&b,&c); d = b * b - 4 * a * c; if(d > 0) { x1 = (-1 * b + sqrt(d)) / (2 * a); x2 = (-1 * b - sqrt(d)) / (2 * a); printf("x1 = %g,x2 = %gn",x1,x2); }
# include
对于如下的一元二次方程: ax*x+bx+c=0设计C语言程序,输入一元二次方程的三个系数a、b、c,求解出该方程的两个根,并且允许用户在程序中多次输入不同的系数,以求解不同的一元二次方程的解。编程思路分析:对于该方程,令delta=b^2-4*a*c,从数
void main(void)
步骤: 打开visual C++ 6.0-文件-新建-文件-C++ Source File 2. 定义变量: #include #include void main() { double a,b,c; /*定义系数变量*/ double x1,x2,p; /*定义根变量和表达式的变量值*/ 3.输入系数: printf("请输入a,b,c:"); /*提示用
输入void main(void)
#include main() { int s; float a,b,c; float temp;//计算b*b-4*a*c float num;//开根号 float x1,x2;//方程的根 printf("---------------欢迎进入二元方程组计算系统,输入非0进入,0退出---------------n"); scanf("%d",&s); while(s){ prin
{
double a,b,c,x1,x2;
#include #include void m(float a,float b,float c) { double x1,x2; x1=(-b+sqrt(b*b-4*a*c))/(2*a); x2=(-b-sqrt(b*b-4*a*c))/(2*a); printf("方程的根是%.2lf和%.2lf",x1,x2); } void n(float a,float b,float c) { double x; x=(-b)/(2*a);
cout<<"input a,b,c:";
您好!很高兴为您解答。 原代码中的scanf和printf中的%要放在d和lf的前面才对,改正后运算无误~ #include #include void main () { double x1;//x1,x2分别为方程的2个解 double x2; double melt; int a; int b;//初始化ABC的三个变量 int c; pri
cin>>a>>b>>c;
#include #include using namespace std; int main() { for (int i=0;i>a>>b>>c; delta=b*b-4*a*c; p=-b/(2*a); q=sqrt(fabs(delta))/(2*a); if (delta>=0) cout
double s=b*b-4*a*c;
M宏不需要开方,delta只是b*b-4*a*c,如果它大于等于0,再开方才有意义.变量也应该使用浮点数类型,修改如下: //--------------------------------------------------------------------------- #include #include #define M (b*b-4*a*c) /*注意这里
if(s>=o)
C语言编写一程序求解一元二次方程的根: #include #include void m(float a,float b,float c) { double x1,x2; x1=(-b+sqrt(b*b-4*a*c))/(2*a); x2=(-b-sqrt(b*b-4*a*c))/(2*a); printf("方程的根是%.2lf和%.2lf",x1,x2); } void n(float a,floa
输入{
double sqrtVal=sqrt(s);
用C语言编写求一元二次方程根的程序,条件判断的充分,步骤如下: void main(){float a,b,c,delta;scanf("%f%f%f",&a,&b,&c);if(a!=0){delta=b*b-4*a*c;if(delta==0)printf("x1=x2=%7.2f",-b/(2*a));else if(delta>0){printf("x1=%7.2f",(-b+sqr
x1=(-b+sqrtVal)/(2*a);
#include #include int main(void){ double a,b,c; double x1,x2,x,t,p,q printf("输入一元二次方程的系数a,b,c:"); scanf("%lf %lf %lf",&a,&b,&c); t=b*b-4*a*c; if(a==0&&b==0&&c==0) printf("方程无穷解!n"); if(a==0&&b==0&&c!=0) printf(
x2=(-b-sqrtVal)/(2*a);
#include#includevoid main(){ double a,b,c,d,x1,x2; /*sqrt要求用double型,定义用double,另外double和后面变量之间要有空格*/ printf("请输入系数a、b、c:"); scanf("%lf%lf%lf",&a,&b,&c); /*&b和&c之间要有逗号*/ d=b*b-4*a*c; x1=(-b+sqr
cout<<"x1="<cout<<"x2="<}
#include #include void main() { double a,b,c,x1,x2; printf("For "ax2+bx+c=0"nPlease input a : "); scanf("%lf",&a); printf("Please input b : "); scanf("%lf",&b); printf("Please input c : "); scanf("%lf",&c); if(b * b - 4 * a
输入else
#include #include void main(){float a,b,c,dlt;scanf("%f%f%f",&a,&b,&c);if(a){dlt=b*b-a*c*4;if(dlt>0)printf("x1=%.2fnx2=%.2f",(-b+sqrt(dlt))/(a*2),(-b-sqrt(dlt))/(a*2));else if(dlt
cout<<"this question does not hava a real answer"<
int GetRoot(float a, float b, float c ,double* root){ double delta, deltasqrt ; delta = b* b - 4*a*c ; if(delta
}
扩展阅读,以下内容您可能还感兴趣。
C语言编程 解一元二次方程
M宏不需要开方,delta只是b*b-4*a*c,如果它大于等于0,再开方才有意义.变量也应该使用浮点数类型,修改如下:
//---------------------------------------------------------------------------
#include<stdio.h>
#include<math.h>
#define M (b*b-4*a*c) /*注意这里*/
main()
{double a,b,c,x1,x2; /*注意这里*/
printf("请输入方程的三个系数:");
scanf("%lf,%lf,%lf",&a,&b,&c); /*注意这里*/
if (M>0)
{ x1=(-b+sqrt(M))/(2*a); /*注意这里*/
x2=(-b-sqrt(M))/(2*a); /*注意这里*/
printf("方程的两个根是:\nx1=%lf,x2=%lf\n",x1,x2);/*注意这里*/
}
else if (M==0)
{ x1=-b/(2*a);
printf("方程具有两个相等的实根:x1=x2=%lf\n",x1); /*注意这里*/
}
else
printf("输入错误,请重新输入\n");
}
//---------------------------------------------------------------------------
如何用C语言编写一程序求解一元二次方程的根?
C语言编写一程序求解一元二次方程的根:
#include<stdio.h>
#include<math.h>
void m(float a,float b,float c)
{
double x1,x2;
x1=(-b+sqrt(b*b-4*a*c))/(2*a);
x2=(-b-sqrt(b*b-4*a*c))/(2*a);
printf("方程的根是%.2lf和%.2lf",x1,x2);
}
void n(float a,float b,float c)
{
double x;
x=(-b)/(2*a);
printf("方程的根为%.2lf",x);
}
void f(float a,float b,float c)
{
printf("方程无实数根n");
}
main()
{
float a,b,c;
printf("请输入a,b,c的值n");
scanf("%f%f%f",&a,&b,&c);
if(b*b-4*a*c>0)
m(a,b,c);
if(b*b-4*a*c==0)
n(a,b,c);
if(b*b-4*a*c<0)
f(a,b,c);
}
根据具体问题类型,进行步骤拆解/原因原理分析/内容拓展等。
具体步骤如下:/导致这种情况的原因主要是。
用C语言编写求一元二次方程根的程序
用C语言编写求一元二次方程根的程序,条件判断的充分,步骤如下:
void main()
{
float a,b,c,delta;
scanf("%f%f%f",&a,&b,&c);
if(a!=0)
{
delta=b*b-4*a*c;
if(delta==0)
printf("x1=x2=%7.2f",-b/(2*a));
else if(delta>0)
{
printf("x1=%7.2f",(-b+sqrt(delta))/(2*a));
printf("x2=%7.2f",(-b-sqrt(delta))/(2*a));
}
else
{
printf("x1=%7.2f+i%7.2f",-b/(2*a),sqrt(-delta)/(2*a));
printf("x2=%7.2f-i%7.2f",-b/(2*a),sqrt(-delta)/(2*a));
}
}
else if(b!=0)
printf("x=%7.2f",-c/b);
else if(c==0)
printf("0=0,x为任意解
");
else
printf("%f=0,error!",c);
}
求一元二次方程ax2+bx+c=0的解。a,b,c为任意实数。c语言编程
#include<stdio.h>
#include<math.h>
int main(void){
double a,b,c;
double x1,x2,x,t,p,q
printf("输入一元二次方程的系数a,b,c:");
scanf("%lf %lf %lf",&a,&b,&c);
t=b*b-4*a*c;
if(a==0&&b==0&&c==0)
printf("方程无穷解!n");
if(a==0&&b==0&&c!=0)
printf("方程无解!n");
if(a==0&&b!=0){
x=-c/b;
printf("方程有一个根:x=%.2fn",x);
}
if(a!=0&&b!=0){
if(t==0){
x=-b/(2*a);
printf("方程有两个相同的实根:x1=x2=%.2fn",x);
}
if(t>0){
x1=(-b+sqrt(t))/(2*a);
x2=(-b-sqrt(t))/(2*a);
printf("方程有两个不同实根:x1=%.2f x2=%.2fn",x1,x2);
}
if(t<0){
p=(-b)/(2*a);
q=sqrt(-t)/(2*a);
printf("方程有两个不同虚根:x1=%.2f+%.2fi x2=%.2f-%.2fin",p,q,p,q);
}
}
return 0;
}
扩展资料
main()
{
float a,b,c;
x09float temp;//计算b*b-4*a*c
x09float num;//开根号
x09float x1,x2;//方程的根
x09printf("Enter a,b,c:");
x09scanf("%f %f %f",&a,&b,&c);
x09temp=b*b-4*a*c;
x09num=sqrt(temp);
x09if(temp>0) //两个不同实根
x09{
x09x09x1=(-b+num)/(2*a);
x09x09x2=(-b-num)/(2*a);
x09x09printf("x1=%0.2f,x2=%0.2fn",x1,x2);//保留两位输出
x09}
x09if(temp==0)//一个相同实根
x09{
x1=x2=(-b)/(2*a);
printf("x1=x2=%0.2fn",x1);//保留两位输出
x09}
x09if(temp
参考资料:百度百科 c语言
百度百科 一元二次方程
一元二次方程求根的C语言程序代码
#include<stdio.h>
#include<math.h>
void main()
{
double a,b,c,d,x1,x2; /*sqrt要求用double型,定义用double,另外double和后面变量之间要有空格*/
printf("请输入系数a、b、c:");
scanf("%lf%lf%lf",&a,&b,&c); /*&b和&c之间要有逗号*/
d=b*b-4*a*c;
x1=(-b+sqrt(d))/(2*a);
x2=(-b-sqrt(d))/(2*a);
printf("x1=%.2lfnx2=%.2lfn",x1,x2); /*输出用%lf*/
}