当前位置: 首页 > article >正文

C# 程序来计算三角形的面积(Program to find area of a triangle)

 给定一个三角形的边,任务是求出该三角形的面积。

例如: 

输入:a = 5, b = 7, c = 8

输出:三角形面积为 17.320508

输入:a = 3, b = 4, c = 5

输出:三角形面积为 6.000000

方法:可以使用以下公式简单地计算 三角形的面积。

其中 a、b 和 c 是三角形边长,  
s = (a+b+c)/2 

下面是上述方法的实现:

// C# program to print 
// Floyd's triangle 
using System; 
  
class Test { 
      
    // Function to find area 
    static float findArea(float a, float b, 
                        float c) 
    { 
          
        // Length of sides must be positive 
        // and sum of any two sides 
        // must be smaller than third side. 
        if (a < 0 || b < 0 || c <0 ||  
        (a + b <= c) || a + c <=b ||  
            b + c <=a) 
        { 
            Console.Write("Not a valid triangle"); 
            System.Environment.Exit(0); 
        } 
        float s = (a + b + c) / 2; 
        return (float)Math.Sqrt(s * (s - a) *  
                            (s - b) * (s - c)); 
    } 
          
    // Driver code 
    public static void Main()  
    { 
        float a = 3.0f; 
        float b = 4.0f; 
        float c = 5.0f; 
      
        Console.Write("Area is " + findArea(a, b, c)); 
    } 

  
// This code is contributed Nitin Mittal.  

  输出

面积为 6

时间复杂度: O(log 2 n)

辅助空间: O(1),因为没有占用额外空间。

给定一个三角形顶点的坐标,任务是找到该三角形的面积。

方法:如果给定三个角的坐标,我们可以对下面的区域  应用鞋带公式。

// C# program to evaluate area of  
// a polygon usingshoelace formula 
using System; 
  
class GFG { 
  
    // (X[i], Y[i]) are coordinates  
    // of i'th point. 
    static double polygonArea(double []X, 
                       double []Y, int n) 
    { 
        // Initialize area 
        double area = 0.0; 
      
        // Calculate value of shoelace 
        // formula 
        int j = n - 1; 
        for (int i = 0; i < n; i++) 
        { 
            area += (X[j] + X[i]) *  
                        (Y[j] - Y[i]); 
              
            // j is previous vertex to i 
            j = i;  
        } 
      
        // Return absolute value 
        return Math.Abs(area / 2.0); 
    } 
      
    // Driver program  
    public static void Main ()  
    { 
        double []X = {0, 2, 4}; 
        double []Y = {1, 3, 7}; 
  
        int n = X.Length; 
        Console.WriteLine( 
                 polygonArea(X, Y, n)); 
    } 

  
// This code is contributed by anuj_67. 

输出
2

时间复杂度: O(n)

辅助空间: O(1)


http://www.kler.cn/a/411373.html

相关文章:

  • MySQL系列之数据类型(Numeric)
  • 【真实场景面试问题-2】
  • 数据结构--AVL树(平衡二叉树)
  • 蓝桥杯c++算法秒杀【6】之动态规划【下】(数字三角形、砝码称重(背包问题)、括号序列、异或三角:::非常典型的必刷例题!!!)
  • 图论基础知识
  • ubuntu20.04中编译安装gcc 9.2.0
  • 数据结构 (11)串的基本概念
  • 异或-java-leetcode
  • 从攻击视角探讨ChatGPT对网络安全的影响
  • c++编程玩转物联网:使用芯片控制8个LED实现流水灯技术分享
  • C++:哈希-->unordered_map/unordered_set
  • POA-CNN-SVM鹈鹕算法优化卷积神经网络结合支持向量机多特征分类预测
  • 2039:【例5.6】冒泡排序
  • Dubbo的RPC泛化调用
  • apache、iis规则设置防盗链
  • 实现 Browser 客户端下载 XML 文件功能
  • 基于NXP LS1043 OpenWRT智能交通边缘网关设计
  • Elasticsearch对于大数据量(上亿量级)的聚合如何实现?
  • mcu 测试
  • 001.python 脚本编程
  • 第R4周:LSTM-火灾温度预测(TensorFlow版)
  • 3174、清除数字
  • 01 [51单片机 PROTEUS仿真设计]基于温度传感器的恒温控制系统
  • 计算机网络 第4章 网络层
  • 【自动化Selenium】Python 网页自动化测试脚本(上)
  • 机器视觉Halcon技术文档:一次难忘的Bug经历与启示