• 学习


    习题3-5 三角形判断 (15分)
     

    给定平面上任意三个点的坐标(、(、(,检验它们能否构成三角形。

    输入格式:

    输入在一行中顺序给出六个[范围内的数字,即三个点的坐标x1​​、y1​​、x2​​、y2​​、x3​​、y3​​。

    输出格式:

    若这3个点不能构成三角形,则在一行中输出“Impossible”;若可以,则在一行中输出该三角形的周长和面积,格式为“L = 周长, A = 面积”,输出到小数点后2位。

    输入样例1:

    4 5 6 9 7 8
    
     

    输出样例1:

    L = 10.13, A = 3.00
    
     

    输入样例2:

    4 6 8 12 12 18
    
     

    输出样例2:

    Impossible


    #include<stdio.h>
    #include<math.h>
    int main()
    {
    double x1,y1,x2,y2,x3,y3;
    double len1=0,len2=0,len3=0;
    double l=0,a=0,s;
    scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3);
    if(x1>=-100&&y1>=-100&&x2>=-100&&y2>=-100&&x3>=-100&&y3>=-100&& x1<=100&&y1<=100&&x2<=100&&y2<=100&&x3<=100&&y3<=100)
    {
    len1=sqrt( pow((x1-x2),2) + pow((y1-y2),2) );
    len2=sqrt( pow((x1-x3),2) + pow((y1-y3),2) );
    len3=sqrt( pow((x2-x3),2) + pow((y2-y3),2) );

    if(len1+len2<=len3||len1+len3<=len2||len2+len3<=len1)
    {
    printf("Impossible");
    }
    else
    {
    s=(len1+len2+len3)/2;
    a=sqrt(s*(s-len1)*(s-len2)*(s-len3));
    l=len1+len2+len3;
    printf("L = %.2lf, A = %.2lf",l,a);
    }

    }else
    {
    printf("错误");
    }
    return 0;
    }



    只供自己学习参考,方便自己知道做过哪些题目。偶尔会附上别人写的代码(整张截图)供自己学习和对比,若题主不同意,可删
  • 相关阅读:
    经典布局 ---- 双飞翼
    细嚼浏览器兼容----条件注释判断浏览器版本
    webqq的注册登记和聊天页面--运用jsonp跨域
    Bootstrap框架的要点--栅格系统
    html5橡皮檫特效
    PHP正确获取客户端IP地址
    常用排序算法及Java实现
    Math类中的floor、ceil和round方法
    Java中的动态反射机制和动态代理
    测试
  • 原文地址:https://www.cnblogs.com/wven/p/12595913.html
Copyright © 2020-2023  润新知