试试看:求平面上两点之间的距离。
已知平面上两点A(x1,y1)、B(x2,y2),求两点之间的距离。两点坐标以x1、y1、x2、y2的顺序输入,数据之间用空格隔开。计算并输出两点间距离,结果保留两位小数。
/*程序2-9:计算两点间距离*/
源程序中求两点间距离除了用到算术运算符外,还用到数学函数sqrt()求平方根。
C程序就是函数的集合,C语言又称函数语言。函数分为两大类:一类是程序员编写的函数,称为用户自定义函数,另一类是C语言提供的标准库函数,它们属于由编译器提供的函数库。C语言提供了许多标准库函数,其中一种是数学函数。
C语言提供的数学库函数可以解决一些只用算术运算符不能完成的数学运算问题。数学函数原型都包含在头文件math.h中。要在程序中使用数学函数,就要包含头文件<math.h>,所以在文件的开头要有预处理指令:
#include<math.h>
常用的数学函数主要有以下几种:
(1)求绝对值:
求整数的绝对值用abs(),例如:
int i=-3,j;
j=abs(i);
求实数的绝对值,用fabs(),例如:
double b;
b=fabs(-12.3);
(2)求平方根,用sqrt(),例如:
double a=2.3,b;
b=sqrt(a);
(3)求幂x y,用pow(),例如:
double x=2,y=3,z;
z=pow(x,y);
(4)求e x ,用exp(),例如:
double x=2.3,y;
y=exp(x);
(5)求自然对数,用log(),例如:
double x=13,y;
y=log(x);
(6)求以10为底的对数,用log10(),例如:
double x=13,y;
y=log10(x);
(7)三角函数,例如:
double x=1.5,y;
y=sin(x);
y=cos(x);
y=tan(x);
这里只是简单介绍了几种数学函数的用法,关于它们的参数、返回值数据类型及其他数学函数请参考附录D。
解决问题:输入一个正整数,计算该整数的位数。
解题思路:
考虑一个整数的对数和位数的关系:对数取整加1即为该数的位数。由此可得到整数n的位数的计算公式是:(int)log10(n)+1。
/*程序2-10:计算该整数的位数*/