/求ax2+bx+c=0的根。分别考虑d=b2-4ac大于0、等于0和小于0这3种情况/
#include <stdio.h>
#include <math.h>
int main(){
double a,b,c,d,x1,x2;
printf(“请输入a,b,c的值以便求根:\n”);
scanf("%lf %lf %lf",&a,&b,&c);//double用%lf float用%f 注意输入格式
d=pow(b,2.0)-4ac;//pow是数学函数
if(d<0)
printf(“该方程无实根\n”);
if(d==0){
x1=x2=-b/(2.0a);
printf(“该方程有两个相等的实根:%lf\n”,x1);
}
if(d>0){
x1=(-b+sqrt(d))/(2.0a);//sqrt是数学函数
x2=(-b-sqrt(d))/(2.0*a);
printf(“该方程有两个实根\n分别为:%lf %lf\n”,x1,x2);
}
}
谭浩强c程序设计p36第8题第二问
复习:
1.双精度浮点型数据类型的使用
如2.0*a a是double类型
double用%lf 15位有效数字
float用%f 6位有效数字
均包含负数
2.int型取值范围-32768~32767
unsigned int型取值0~65535 (不包含负数)
3.math.h 数学函数
pow(double x,double y) 计算x的y次方的值 得数也是double型
sqrt(double x) 求根号x x是double型 得数也是double型 x≥0
4.求b的负数可以写成-b
说明:
1.可以改成判断是否有根 有几个根
2.可以改成也能求共轭复根
3.可以改成只求根
4.输出样式随自己喜欢任意更改