zoukankan      html  css  js  c++  java
  • T1110-计算线段长度

    原题链接: https://nanti.jisuanke.com/t/T1010

    题目简述:

    已知线段的两个端点的坐标A(Xa,Ya),B(Xb,Yb)A(X_a,Y_a),B(X_b,Y_b),求线段 ABAB 的长度。

    蒜头君老师告诉了你计算公式如下:

    (XaXb)2+(YaYb)2sqrt{(X_a - X_b)^2 + (Y_a - Y_b)^2}

    输入格式

    共两行。

    第一行是两个实数 Xa,YaX_a, Y_a,即 AA 的坐标。

    第二行是两个实数 Xb,YbX_b, Y_b ,即 BB 的坐标。

    输入中所有实数的绝对值均不超过 1000010000

    输出格式

    一个实数,即线段 ABAB 的长度,保留到小数点后 33 位。

    评级: ★(农夫山泉题)

    思路: 照着题意模拟,计算:(XaXb)2+(YaYb)2sqrt{(X_a - X_b)^2 + (Y_a - Y_b)^2}

    代码:

    #include <bits/stdc++.h>
    using namespace std;
    int main() {
        int x1,y1,x2,y2;
        cin>>x1>>y1>>x2>>y2;
        double ans = sqrt(abs(pow(x1-x2,2))+abs(pow(y1-y2,2)));
        cout<<fixed<<setprecision(3)<<ans<<endl;
        return 0;
    }
    

    未过,原因:精度错误。

    改后代码:

    #include <bits/stdc++.h>
    using namespace std;
    int main() {
        double x1,y1,x2,y2;
        cin>>x1>>y1>>x2>>y2;
        double ans = sqrt(abs(pow(x1-x2,2))+abs(pow(y1-y2,2)));
        cout<<fixed<<setprecision(3)<<ans<<endl;
        return 0;
    }
    
  • 相关阅读:
    学习进度条
    0302我的感想
    1217实验四 递归下降语法分析程序设计
    1118 实验三 有限自动机的构造与识别
    1112我的访问与评论日记
    1014 我的C语言文法定义与C程序推导过程
    0917词法分析
    命令解释程序的编写
    构建之法前三章读后感
    复利计算4.0
  • 原文地址:https://www.cnblogs.com/littlefrog/p/11939503.html
Copyright © 2011-2022 走看看