请问咋改?
#include<stdio.h>#include<math.h>
main()
{float a,b,c,x1,x2,sb,xb,m,ch;
for(;;)
{
clrscr[];
printf("\n\n\n\n\n\n");
printf(" ########################\n");
printf(" ## 1.请输入a b c的值 #\n");
printf(" ## 2.计算方程的值 #\n");
printf(" ## 3.退出 #\n");
printf(" ########################\n");
m==getchar[];
switch(m)
{
case'1':
{do
{printf("请输入 a b c的值\n");
printf("\na=");
scanf("%f",&a);
printf("\nb=");
scanf("%f",&b);
printf("\nc=");
scanf("%f",&c);
printf("确定吗?确定按'1'不确定按'2'重新输入\n");
scanf("%f",&ch);
}
while(ch==2);break;
}
case'2':
{printf("a=%f,b=%f'c=%f\n",a,b,c);
if(a==0&&b==0&&c==0)
{printf("方程有任意解\n");
printf("x1=任意值\n");
printf("x2=任意值\n");
getchar[];break;
}
if(a==0&&b!=0)
{printf("方程是一元一次方程\n");
printf("x1=x2=%f\n",-c/b);
getch();break;
}
if(a==0&&b==0&&c!=0)
{printf("方程无解\n");
getch();break;
}
if(a!=0)
{
if(b*b-4*a*c>0)
{printf("方程是一元二次方程,有两个不等实数根\n");
x1==(-b+sqrt(b*b-4*a*c))/(2*a);
x2==(-b-sqrt(b*b-4*a*c))/(2*a);
printf("x1=%8.4f\n x2=%8.4f\n",x1,x2);
getchar[];
break;
}
if(b*b-4*a*c==0)
{printf("方程是一元二次方程,有两个相等实数根\n");
x1=-b/(2*a);
printf("x1=x2=%8.4f\n",x1);
getch();
break;
}
if(b*b-4*a*c<0)
{printf("方程是一元二次方程,有两个不相等虚根\n");
sb=-b/(2*a);
xb=sqrt(fabs(b*b-4*a*c))/(2*a);
printf("x1=%f+%fi\n",sb,xb);
printf("x2=%f-%fi\n",sb,xb);
getch();
break;
}
}
case'3':
exit();
}
}
}
}