0){x1=(-b+sqrt(delta))/(2*a);x2=(-b-sqrt(delta))/" />

C语言程序 一元二次方程

//求一元二次方程:ax2+bx+c=0(a≠0)的解

#include
#include
main()
{
int a,b,c;
double x1,x2,delta;
char ch;
printf("请依次输入一元二次方程三个系数a,b,c的值:");
scanf("%d%d%d",&a,&b,&c);
delta=b*b-4*a*c;

if(delta>0)
{
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
printf("该一元二次方程有两个不同的解: x1=%f,x2=%f\n",x1,x2);
}
else if(delta==0)
{
x2=x1=(-b)/(2*a);
printf("该一元二次方程有两个相同的解: x2=x1=%f\n",x1);
}
else
printf("该一元二次方程无解!\n");

printf(" \n") ;
printf("是否继续?(y/n)\n");
fflush(stdin); //清空缓冲区
ch=getchar(); //接收输入字符

if(ch=='Y' || ch=='y') //判断输入字符并进行继续或者退出操作
{
printf("继续中......\n");
main(); //返回main函数
}
else
printf("退出操作!\n"); //什么也不做 自然退出
}







//求一元二次方程:ax2+bx+c=0(a≠0)的解

#include
#include
int main(void)
{
int a,b,c;
double x1,x2,delta;
char ch;

do{
printf("请依次输入一元二次方程三个系数a,b,c的值:");
scanf("%d%d%d",&a,&b,&c);
delta=b*b-4*a*c;

if(delta>0)
{
x1=(-b+sqrt(delta))/(2*a);
x2=(-b-sqrt(delta))/(2*a);
printf("该一元二次方程有两个不同的解: x1=%f,x2=%f\n",x1,x2);
}

else if(delta==0)
{
x2=x1=(-b)/(2*a);
printf("该一元二次方程有两个相同的解: x2=x1=%f\n",x1);
}
else
printf("该一元二次方程无解!\n");


printf(" \n") ;
printf("是否继续?(y/n)\n");
fflush(stdin); //清空缓冲区。用来清空输入缓存,以便不影响后面输入的东西
ch=getchar();
}while(ch=='y'||ch=='Y');
printf("退出操作!\n"); //什么也不做 自然退出
}

相关文档
最新文档