#include
#include
void sum1(float a,float b,float deta)
{
float x1,x2;
x1=(-b+sqrt(deta))/(2*a);
x2=(-b-sqrt(deta))/(2*a);
printf("当deta大于0时有x1=%.f和x2=%.f两个解\n",x1,x2);
}
void sum2(float a,float b,float deta)
{
float x1,x2;
x1=-b/(2*a);
x2=x1;
printf("当deta等于0时,有一个解%.f",x1);
}
void sum3()
{
printf("无解\n");
}
main()
{
float a,b,c,deta;
printf("请输入a=\n");
scanf("%lf",&a);
printf("请输入b=\n");
scanf("%lf",&b);
printf("请输入c=\n");
scanf("%lf",&c);
deta=b*b-4*a*c;
if(deta>0)
{
sum1(a,b,deta);
}
else if(deta==0)
{
sum2(a,b,deta);
}
else if(deta<0)
{
sum3();
}
}
把输入中scanf中的%lf改为%f
#include<stdio.h>
#include<math.h>
void sum1(float a,float b,float deta)
{
float x1,x2;
x1=(-b+sqrt(deta))/(2*a);
x2=(-b-sqrt(deta))/(2*a);
printf("当deta大于0时有x1=%.f和x2=%.f两个解\n",x1,x2);
}
void sum2(float a,float b,float deta)
{
float x1,x2;
x1=-b/(2*a);
x2=x1;
printf("当deta等于0时,有一个解%.f",x1);
}
void sum3()
{
printf("无解\n");
}
main()
{
float a,b,c,deta;
printf("请输入a=\n");
scanf("%f",&a);
printf("请输入b=\n");
scanf("%f",&b);
printf("请输入c=\n");
scanf("%f",&c);
deta=b*b-4*a*c;
if(deta>0)
{
sum1(a,b,deta);
}
else if(deta==0)
{
sum2(a,b,deta);
}
else if(deta<0)
{
sum3();
}
}