有趣的小程序

有趣的小程序
有趣的小程序

# include

#include //程序中要调用求平方根函数sqrt

int main( )

{

double a, b, c, disc, x1, x2, p, q; //disc是判别式sprt( b*b - 4*a*c )

scanf("%lf %lf %lf", &a, &b, &c); //输入双精度浮点型变量的值要用格式声明“%lf”

disc = b*b - 4*a*c;

if (disc < 0)

{

printf("This equation hav't real roots\n");

}

else

{

p = -b / (2.0*a);

q = sqrt(disc)/(2.0*a);

x1 = p + q;

x2 = p - q; //求出方程的两个根

printf("real roots:\n x1 = %lf \n x2 = %lf \n", x1, x2);//输出方程的两个根

}

return 0;

}

改良版

------------------------------------------------------------------------------------------- # include

# include

int main(void)

{

double a, b, c;

double delta;

double x1;

double x2;

printf("请输入三个数字a, b, c:");

scanf("%lf %lf %lf",&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)

{

x1 = (-b)/(2*a);

x2 = x1;

printf("该方程有两个相等的解,x1 = x2 = %f\n",x1,x2);

}

else

{

printf("无解\n");

}

return 0;

}

------------------------------------------------------------------------------------------ 在此改良

------------------------------------------------------------------------------------------- # include

# include

int main(void)

{

double delta, a, b, c;

double x1;

double x2;

char ch;

do

{

printf("请输入a, b, c,:\n");

printf("a = ");

scanf(" %lf", &a);

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 = %f, x2 = %f\n\n\n",x1,x2);

}

else if (delta == 0)

{

x1 = (-b)/(2*a);

x2 = x1;

printf("该方程有两个相等的解,x1 = x2 = %f\n\n\n",x1,x2);

}

else

{

printf("该方程无解\n\n\n");

}

printf("您若想继续计算请输入:Y或y\n\n");

scanf(" %c", &ch);

printf("\n");

}

while ('y'==ch||'Y'==ch);

return 0;

}

相关主题
相关文档
最新文档