解一元二次方程ax2+bx+c=0的解。 c语言编程求代码
4个回答
展开全部
#include<stdio.h>
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){
printf("Enter a,b,c:");
scanf("%f%f%f",&a,&b,&c);
temp=b*b-4*a*c;
num=sqrt(temp);//开根号
if(temp>0) //两个不同实根
{ printf("有两个根\n");
x1=(-b+num)/(2*a);
x2=(-b-num)/(2*a);
printf("x1=%0.2f, x2=%0.2f\n",x1,x2);//保留两位输出
}
else if(temp==0)//一个相同实根
{ printf("只有一个根\n");
x1=x2=(-b)/(2*a);
printf("x1=x2=%0.2f\n",x1);
}//保留两位输出
else if(temp<0)//共轭复数,无实根
{printf("没有一个根\n");}
else
;
printf("输入非0继续,0退出\n");
scanf("%d",&s);
}
return 0;
}
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){
printf("Enter a,b,c:");
scanf("%f%f%f",&a,&b,&c);
temp=b*b-4*a*c;
num=sqrt(temp);//开根号
if(temp>0) //两个不同实根
{ printf("有两个根\n");
x1=(-b+num)/(2*a);
x2=(-b-num)/(2*a);
printf("x1=%0.2f, x2=%0.2f\n",x1,x2);//保留两位输出
}
else if(temp==0)//一个相同实根
{ printf("只有一个根\n");
x1=x2=(-b)/(2*a);
printf("x1=x2=%0.2f\n",x1);
}//保留两位输出
else if(temp<0)//共轭复数,无实根
{printf("没有一个根\n");}
else
;
printf("输入非0继续,0退出\n");
scanf("%d",&s);
}
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include "stdio.h"
#include "math.h"
main()
{ float a,b,c,p,q,k,l;
{printf("\n <二元一次方程:ax^2+bx+c=0>\n\n");
printf(">> 输入a,b,c \n\n>> ");
scanf("%f,%f,%f",&a,&b,&c);
printf("\n--------------------------------------------------");
printf("\n\n你的方程为: %f*(x)^2+%f*(x)+%f=0\n",a,b,c);
l=b*b-4*a*c;
k=pow(l,0.5);
p=(k-b)/(2*a);
q=(-k-b)/(2*a);
if (l<0) printf("\n\n===error===\n\n\n===△<0!===\n\n\n\n\n");
else if (p==q) printf("\n\n\n>> △= %.3f\n",l),printf("\n>> X1=X2= %.3f\n\n",p);
else printf("\n\n\n>> △= %.3f\n",l),printf("\n>> X1= %.3f\n\n>> X2= %.3f\n\n\n",p,q);
}
}
#include "math.h"
main()
{ float a,b,c,p,q,k,l;
{printf("\n <二元一次方程:ax^2+bx+c=0>\n\n");
printf(">> 输入a,b,c \n\n>> ");
scanf("%f,%f,%f",&a,&b,&c);
printf("\n--------------------------------------------------");
printf("\n\n你的方程为: %f*(x)^2+%f*(x)+%f=0\n",a,b,c);
l=b*b-4*a*c;
k=pow(l,0.5);
p=(k-b)/(2*a);
q=(-k-b)/(2*a);
if (l<0) printf("\n\n===error===\n\n\n===△<0!===\n\n\n\n\n");
else if (p==q) printf("\n\n\n>> △= %.3f\n",l),printf("\n>> X1=X2= %.3f\n\n",p);
else printf("\n\n\n>> △= %.3f\n",l),printf("\n>> X1= %.3f\n\n>> X2= %.3f\n\n\n",p,q);
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
double deta=b*b-4*a*c;
if(deta<0)
cout<<"No real root"<<endl;
else if(data==0)
cout<<(-b)/2a<<endl;
else
cout<<(-b+sqrt(deta))/(2*a)<<";"<<(-b-sqrt(deta))/(2*a)<<endl;
if(deta<0)
cout<<"No real root"<<endl;
else if(data==0)
cout<<(-b)/2a<<endl;
else
cout<<(-b+sqrt(deta))/(2*a)<<";"<<(-b-sqrt(deta))/(2*a)<<endl;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ls正解
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询