C++蓝桥等考导学/三级:算术运算/之三:常用的数学库函数(11数学库函数)(三级完)

一、观看视频

01】常用数学库函数【02】两点之间的距离【03】海伦公式

04】一元二次方程的两个实数根

二、研读学生讲义

【学生讲义】01】常用数学库函数【学生讲义】02】两点之间的距离【学生讲义】03】海伦公式

【学生讲义】【04】一元二次方程的两个实数根

三、练习题(不清楚回头查看有关视频或讲义)

01】C++常用数学库的名称是“math”、“cppmath”还是“cmath”?

02】下面是C++常用数学库函数的名称、功能、格式和例子,请把它们的编号关联起来:

函数名称:

①平方根值函数  ②指数函数 ③自然指数函数 ④向下取整  ⑤自然对数函数 ⑥绝对值函数 ⑦向上取整

功能说明:

①求一个数x的绝对值 ②求不大于实数x的最大整数 ③求不小于实数x的最小整数 ④计算x的y次方,结果为双精度实数 ⑤求实数x的平方根 ⑥求实数x的自然对数 ⑦求实数x的自然指数

格式和例子:

①exp(x) exp(1)=2.71828 

②pow(x, y) pow(2, 3)=8

③sqrt(x) sqrt(25)=5

④log(x) log(10)=2.30259

⑤ceil(x) ceil(3.14)=4

⑥abs(x) abs(-5)=5

⑦floor(x) floor(3.14)=3

03】请写出下面程序的运行结果然后运行程序核对:

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>#include<cmath>using namespace std;//数学库函数 int main(){    cout << abs(1-100) << endl;    cout << floor(-3.14) << endl;    cout << ceil(-3.99) << endl;    cout << pow(2, 10) << endl;    cout << sqrt(169) << endl;    cout << log(1) << endl;    cout << exp(0) << endl;  return 0;}

04】已知直角坐标系中两点(39,22)和(11,5),下面计算它们的距离的程序正确吗?这个程序能否推广到计算平面上任意两点(含非整点)的距离?

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>#include<cmath>using namespace std;//两点之间距离 int main(){    int x1=39, y1=22, x2=11, y2=5;    int d2 = pow(x1-x2,2) + pow(y1-y2, 2);    cout << sqrt(d2) << endl;  return 0;}

05】下面用海伦公式计算三角形面积(假设输入的数据都可以构成一个三角形)的程序有缺陷(bug),请把它找出来并修正(debug)。

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

· 

#include<iostream>#include<cmath>using namespace std;//海伦公式计算三角形面积 int main(){    double a, b, c;    cin >> a >> b >> c;    double p = (a+b+c)/2;    double s = sqrt(p*(p-a)*(p-b)*(p-c));    cout << s << endl;  return 0;}

06】编程解方程2x²+x-6=0。

07】OpenJudge练习

OpenJudge-1.3-14】大象喝水

OpenJudge-1.3-15】苹果和虫子

OpenJudge-1.3-16】计算线段长度

OpenJudge-1.3-17】计算三角形面积

OpenJudge-1.3-20】计算2的幂