OOP 两点间距离(类模板+函数模板)

【id:331】【20分】E. OOP 两点间距离(类模板+函数模板)
时间限制
1s
内存限制
128MB
题目描述

写一个函数模板(function template),参数是4个相同类型的参数,把前两个参数看成一个点的坐标,后两个参数看成另一个点的坐标,函数返回两点之间的距离(浮点数)。

主函数中分别输入两组值,调用函数输出结果。


输入

一共有8个数字。

首先是四个浮点数a、b、c、d

然后是四个整数e、f、g、h


输出

先输出点(a,b)到点(c,d)的距离,换行。

然后输出点(e,f)到点(g,h)的距离,换行。


样例查看模式 
正常显示
查看格式
输入样例1 <-复制
1.5 3.5 5.5 7.5
3 4 5 6
输出样例1
5.65685
2.82843

没有要求保存小数点后多位,就不用使用fixed进行设置

#include <iomanip>
#include <valarray>
#include "iostream"

using namespace std;



template<class T>
double dis(T a, T b, T c, T d) {
    T x = c - a;
    T y = d - b;
    return sqrt((x * x + y * y));
}

int main() {
    double a, b, c, d;
    cin >> a >> b >> c >> d;
    // cout << fixed << setprecision(5) << one.dis() << endl;
    cout << dis(a, b, c, d) << endl;

    int e, f, g, h;
    cin >> e >> f >> g >> h;
    // cout << fixed << setprecision(5) << two.dis() << endl;
    cout << dis(e, f, g, h) << endl;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值