一元二次方程(if语句)
# include <stdio.h>
# include <math.h>
int main(void)
{
double a,b,c;
double delta;
double x1,x2;
printf("请输入一元二次方程的三个系数:\n");
printf("a = ");
scanf("%lf",&a);//double类型是%lf,float是%f
printf("b = ");
scanf("%lf",&b);
printf("c = ");
scanf("%lf",&c);
delta = b*b - 4*a*c;
if(delta > 0)
{
x1 = (-b + sqrt(delta))/(2*a);
x2 = (-b - sqrt(delta))/(2*a);
printf("有两个解! x1 = %lf,x2 = %lf\n",x1,x2);
}
else if(delta = 0)
{
x1 = x2 = (-b)/2*a;
printf("有一个唯一解!x1 = x2 =%lf\n",x1,x2);
}
else
{
printf("无实数解!\n");
}
}
一元二次方程。输入多次,使用do...while...
# include <stdio.h>
# include <math.h>
int main(void)
{
double a,b,c;
double delta;
double x1,x2;
char ch;
do
{
printf("请输入一元二次方程的三个系数:\n");
printf("a = ");
scanf("%lf",&a);//double类型是%lf,float是%f
printf("b = ");
scanf("%lf",&b);
printf("c = ");
scanf("%lf",&c);
delta = b*b - 4*a*c;
if(delta > 0)
{
x1 = (-b + sqrt(delta))/(2*a);
x2 = (-b - sqrt(delta))/(2*a);
printf("有两个解! x1 = %lf,x2 = %lf\n",x1,x2);
}
else if(delta == 0)
{
x1 = x2 = (-b)/2*a;
printf("有一个唯一解!x1 = x2 =%lf\n",x1,x2);
}
else
{
printf("无实数解!\n");
}
//使用户自行决定终止,若不想终止可不写。。。
printf("您想继续吗?(Y/N):");
scanf(" %c",&ch);//%c前不要忘记加空格。
}
//while(1);//1永远成立,可循环,但这样写程序无法终止。
while('Y'==ch || 'y'==ch);//只有这样,才循环
return 0;
}