洛谷P5735 【深l基7.例1】距离函数
请同学们在看完重点知识之后先自己思考再看代码,建议先自己尝试,不行再看参考代码
重点知识一
1.函数的基本结构:
函数类型 函数名(参数列表){
函数主体,函数在return语句终止,void类型的函数可以不return,也可以写"return ;"这么一句话
}
2.函数的调用:
函数名(参数)进行使用,参数和参数列表对应
重点知识二
sqrt函数:sqrt函数会返回括号里的值开根号之后的数
例如:x = sqrt(y),会让x的值变成根号y的值。
参考代码
#include<bits/stdc++.h>
using namespace std;
/*
涉及的知识点:
1.函数的基本结构:
函数类型 函数名(参数列表){
函数主体,函数在return语句终止,void类型的函数可以不return,也可以写"return ;"这么一句话
}
2.sqrt函数
sqrt函数会返回括号里的值开根号之后的数
*/
//在这里我们定义一个距离函数dis,类型为double类型,我们需要让他返回一个double类型的值——距离
//函数的参数要能提供两个点的坐标,因此设置为x1,y1,x2,y2;
//函数类型:double 函数名:dis 参数列表:double x1,double x2,double y1, double y2
double dis(double x1,double y1,double x2,double y2){
//在这里直接进行计算sqrt()函数会返回一个double类型的值,表示开根号
//根据勾股定理我们可以用下式表示两点之间的距离
return sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
}
int main()
{
double x[3],y[3];
for(int i = 0; i < 3; ++i) cin>>x[i]>>y[i];
//下面调用dis函数,分别求出来(x[0],y[0]),(x[1],y[1]),(x[2],y[2])的距离,然后相加。
double ans = dis(x[0], y[0], x[1], y[1]) + dis(x[1], y[1], x[2], y[2]) + dis(x[2], y[2], x[0], y[0]);
printf("%.2f\n",ans);
return 0;
}