习题2.3 求ax²+bx+c=0方程的根(a、b、c从键盘输入)
数学知识:(1)判断△=b²-4ac的值①△>0,有两个不等实根;②△=0,有两个相等实根;③△<0,无根;(2)△≥0,有两个不等实根 x=-b±△½/2a;
//《C程序设计教程(第四版)——谭浩强》
//习题2.3 求ax²+bx+c=0方程的根(a、b、c从键盘输入)
//数学知识:(1)判断△=b²-4ac的值①△>0,有两个不等实根;②△=0,有两个相等实根;③△<0,无根;(2)△≥0,有两个不等实根 x=-b±△½/2a;
#include <stdio.h>
#include <math.h>
int main()
{
float a,b,c;//a、b、c的值
float d;//△=b²-4ac的值
float x1,x2;
printf("请输入a、b、c三个数的值:\n");
scanf("%f %f %f",&a,&b,&c);//从键盘输入a、b、c的值
d=pow(b,2)-4*a*c;
if(d>=0)
{
x1=(-b+sqrt(d))/2;
x2=(-b-sqrt(d))/2;
printf("该函数有两个实根\nx1=%.2f\nx2=%.2f\n",x1,x2);
}
else
{
printf("该函数无实根!\n");
}
return 0;
}
运行后答案测试:
(1)
(2)
编写代码时遇到的问题:
(1)数学问题:公式
(2)指数用C语言怎么表达:d=pow(b,2)-4*a*c;
开根号用C语言怎么表达:x1=(-b+sqrt(d))/2;