解一元二次方程ax2+bx+c=0的解。 c语言编程求代码
发布网友
发布时间:2023-11-06 08:57
我来回答
共4个回答
热心网友
时间:2024-10-21 23:13
#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;
}
热心网友
时间:2024-10-21 23:14
#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);
}
}
热心网友
时间:2024-10-21 23:14
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;
热心网友
时间:2024-10-21 23:15
ls正解