不好意思,昨天有事没办法写心得,请见谅,今天尽量发两帖。
今天我们来写一个比较复杂的程序
运用二次函数万能求根公式写一个二次函数求根程序。
运用到:调用头程序(输入输出函数,数学函数),声明,输入和输出语句,if else 语句。
#include<iostream.h>;//输入和输出的函数
#include<math.h>;//数学函数。
void main(void)
{
int a,b,c,d,e;
double x1,x2,delta;//双精度数,如果用float(单精度)定义会出错(损失一定数据)
//二次函数简化:a*x^2+b*x+c==d ==> a*x^2+b*x+e==0,e==c-d
cout<<"二次函数求根函数程序,请输入a,b,c,d (a*x^2+b*x+c==d)."<<endl;
cin>>a>>b>>c>>d;//输入a,b,c,d四个数据
e=c-d;//简化
delta = pow(b,2)-4*a*c;
//求delta,如果delta 大于0则有两个不同解,=0则有两个相同解,<0 无解。
//Pow(x,y) x的y次方,特别注意如 4*a*c不能简写为4ac。
if (delta > 0)
{
x1=(-b-sqrt(pow(b,2)-4 * a * e))/(2*a);//万能求根公式,x1左边的根,x2右边的根。
x2=(-b+sqrt(pow(b,2)-4 * a * e))/(2*a);//sqrt()开平方根
cout<<"该二次函数有两个不同解,X1= "<<x1<<" X2= "<<x2<<endl;
}
else if (delta == 0)
{
x1=(-b-sqrt(pow(b,2)-4 * a * e))/(2*a);
cout<<"该二次函数有两相同解,X1=X2= "<<x1<<endl;
}
else if (delta < 0) cout<<"该二次函数无解"<<endl;
}
if 语句:
if (“条件式”) “对应的反应”(即执行的代码)
else if (“条件式”) “对应的反应”
else if (“条件式”) “对应的反应”
else if (“条件式”) “对应的反应”
else “对应的反应”
如果对应的反应有多行则需要用{}括起来
例如上面的代码。
好了,先写到这里今晚再补发一章。