解一元二次方程(循环)
#include <stdio.h>
#include <math.h>
int main(int argc, const char * argv[])
{
int a,b,c;
double x1,x2;
double delt;
double m;
int cnt;
do{
printf("请输入a=");
scanf("%d",&a);
printf("\n请输入b=");
scanf("%d",&b);
printf("\n请输入c=");
scanf("%d",&c);
if(a==0&&b==0){
printf("\n无解");
}else if(a==0&&b!=0){
x1=-c/b;
printf("\nx=%.2lf",x1);
}else{
delt=b*b-4*a*c;
if(delt>=0){
x1=(-b-sqrt(delt))/(2*a);
x2=(-b+sqrt(delt))/(2*a);
printf("x1=%.2lf,x2=%.2lf",x1,x2);
}else{
m=-b/(2*a);
x1=sqrt(-delt)/(2*a);
printf("\nx1=%.2lf-%.2lfi,x2=%.2lf+%.2lfi",m,x1,m,x1);
}
}
printf("\n按1继续,按其他数字结束。请输入:");
scanf("%d",&cnt);
}while(cnt==1);
return 0;
}