(c语法百题16)一元二次方程的实数根

知识点:

数学函数头文件 #include <math.h>

开平方函数,sqrt()

注意等号 == 与赋值号= 的区别

 

内容: 求一元二次方程(二次项系统不为0)ax2+bx+c=0(a≠0)的实数根

输入说明:

一行三个系数(用空格隔开)

输出说明:

 

先输出(-b+sqrt())/2/a的根,一行一个,如果是相等实根,则输出一个(均保留两位小数)

。若无实根输出No answer!

 

输入样例:

1 1 2

输出样例 :

No answer!

 

 1 #include <stdio.h>

 2 #include <math.h>

 3 int main()

 4 {

 5  float a,b,c,d,x1,x2;

 6  scanf("%f %f %f",&a,&b,&c);

 7  d=b*b-4*a*c;

 8  if (d>=0)

 9  {

10   x1=(-b+sqrt(d))/(2*a);

11   x2=(-b-sqrt(d))/(2*a);

12   if(x1==x2)

13   {

14    printf("%.2f\n",x1);

15   }

16   else

17   {

18    printf("%.2f\n%.2f\n",x1,x2);

19   }

20  }

21  else 

22  {

23   printf("No answer!\n");

24  }

25  return 0;

26 }

 

你可能感兴趣的:(语法)