zoukankan      html  css  js  c++  java
  • 三角形面积

    题目四、三角形面积

    描述

    给你三个点,表示一个三角形的三个顶点,现你的任务是求出该三角形的面积

    输入

    每行是一组测试数据,有6个整数x1,y1,x2,y2,x3,y3分别表示三个点的横纵坐标。(坐标值都在0到10000之间)
    输入0 0 0 0 0 0表示输入结束
    测试数据不超过10000组

    输出

    输出这三个点所代表的三角形的面积,结果精确到小数点后1位(即使是整数也要输出一位小数位)

    样例输入

    0 0 1 1 1 3

    0 1 1 0 0 0

    0 0 0 1 1 0

    1000 1000 56 55 10000 78

    2 3  3 2 10 10

    0 0 0 0 0 0

    样例输出

    1.0

    0.5

    0.5

    4687684.0

    7.5

    解题思路:

    这题的输入都在double范围内,所以数据可以用double类型储存,对于每个点用一个结构体存储,可以增加代码的可读性,同时也可以让思路更清晰,本题采用的数学方法是海伦秦昭九公式,若三角形的三边距离是a, b,c那么p  =  0.5 * (a + b + c),则三角形的面积s = sqrt(p * (p - a) * (p - b) * (p - c))

    代码:

    #include <cstdio>
    int main() {
        long long n;
        scanf("%lld", &n);
        if (n == 0){ // 0是特例,特殊判断 
            printf("O\n");
        } else {
            while (n != 0) {
                switch(n % 10) {//获得最后一位 
                    case 0:printf("O");break;
                    case 1:printf("O");break;
                    case 2:printf("T");break;
                    case 3:printf("T");break;
                    case 4:printf("F");break;
                    case 5:printf("F");break;
                    case 6:printf("S");break;
                    case 7:printf("S");break;
                    case 8:printf("E");break;
                    case 9:printf("N");break;
                }
                n /= 10; //修正循环变量n 
            }
        }
        printf("\n");
        return 0;
    }
  • 相关阅读:
    开发者最好的推广平台
    [ERR] 2006
    PS通道
    PS图层样式
    PS 图层 蒙版
    科研狗的基本绘图技巧 | PS | AI
    memcached的常规操作:增删改查【转】
    mysql:pt-online-schema-change 在线修改表、删除表数据【转】
    HAProxy的四层与七层的区别及透传IP实战案例【转】
    【springBoot】SpringBoot修改启动logo图案
  • 原文地址:https://www.cnblogs.com/MATLABlearning001/p/5396951.html
Copyright © 2011-2022 走看看