zoukankan      html  css  js  c++  java
  • Just oj 2018 C语言程序设计竞赛(高级组)D: 四边形面积

    D: 四边形面积
    时间限制: 1 s      内存限制: 128 MB      提交 我的状态
    题目描述
    有一个四边形,现在需要求它的面积

    输入
    输入四行,每行两个数整数xx, yy (1≤x,y≤1000)(1≤x,y≤1000),四个点是按逆时针输入的。

    输出
    输出四边形的面积,保留3位小数点,

    样例输入
    0 0
    10 0
    1 1
    0 11
    样例输出
    10.500
    提示
    C语言中保留3位小数用%.3lf   用法:printf("%.3lf",result) 

    四边形分凸凹四边形。

    #include<iostream>
    #include<math.h>
    using namespace std;
    double x[5],y[5];
    double get_dis(int i,int j){
            return sqrt((x[i]-x[j])*(x[i]-x[j])+(y[i]-y[j])*(y[i]-y[j]));
    }
    double get_m(double a,double b,double c){
            double s=(a+b+c)/2;
            return sqrt(s*(s-a)*(s-b)*(s-c));
    }
    int main()
    {
            for(int i=1;i<=4;i++)
                    scanf("%lf%lf",&x[i],&y[i]);
            double d12,d23,d14,d34,d13,d24,ans;
            d12=get_dis(1,2);d23=get_dis(2,3);
            d14=get_dis(1,4);d34=get_dis(3,4);
            d13=get_dis(1,3);d24=get_dis(2,4);
            ans=min(get_m(d12,d23,d13)+get_m(d14,d34,d13),get_m(d12,d14,d24)+get_m(d23,d34,d24));
            //取13为最长边和24为最长边两种情况的最小值
            printf("%.3lf
    ",ans);
            return 0;
    }
    
  • 相关阅读:
    通过kinaba对es进行crud
    安装启动kibana
    es安装启动
    IP网络层
    Java 高级文本处理
    django17
    邮件问题
    django16
    django15
    django14
  • 原文地址:https://www.cnblogs.com/aeipyuan/p/10079518.html
Copyright © 2011-2022 走看看