首页 > 编程语言 >C# 程序来计算三角形的面积(Program to find area of a triangle)

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

时间:2024-11-27 10:01:06浏览次数:5  
标签:triangle area C# double float int static 三角形

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

例如: 

输入: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)

标签:triangle,area,C#,double,float,int,static,三角形
From: https://blog.csdn.net/hefeng_aspnet/article/details/143477528

相关文章

  • SPOCK 一个基于Groovy 的单元测试框架
    一、Spock是什么简单地说,spock是一个测试框架,他的核心特性有以下几个:【1】可以应用于java或groovy应用的单元测试框架。【2】测试代码使用基于groovy语言扩展而成的规范说明语言specificationlanguage。【3】通过junitrunner调用测试,兼容绝大部分junit的运行场景(ide......
  • 圖形介面聊天工具-Chatbox
    Chatbox安裝與使用Chatbox是一個圖形化的聊天介面,其優點是使用APIKey做UI介面的聊天,一般若要用UI介面與AI聊天會需要到OpenAI或是Claude官網去做使用,但需要訂閱並且有限制使用次數。又如果是買APIKey則會需要使用Python等程式語言去呼叫,且如果想要有記憶模式必須另外編寫......
  • 深入理解SpringMVC(八)
    目录2.1.2、SpringMVC关键组件浅析2.1.3、自定义组件(否则加载默认组件)2.2、SpringMVC的请求处理2.2.1、请求映射路径的配置2.2.2、请求数据的接收2.2.3、请求静态资源2.2.4、注解驱动标签2.1.2、SpringMVC关键组件浅析 上面已经完成的快速入门的操作,也在不知不觉......
  • ERP、SCM、SRM、WMS、MES、QMS、OMS全上,真的有必要吗?
    声明:不存在任何踩一捧一的意思,来自于网络上大家讨论度比较高的一个话题,某些专门盯着我们挑刺的朋友可以出门右转了。另外这篇内容也会尽量客观的去探讨这个问题,也欢迎大家补充指正哦!首先,开门见山给出我个人的看法:没有必要。就拿我所了解的一些企业来说吧,上了这么多系统后,员工......
  • C# ClosedXML 导出 Excel 添加下拉选项 CellDropdown
    注意string左右两边引号不能省略privatevoidAddCellDropdown(stringpath){//使用ClosedXML打开Excel文件using(varworkbook=newXLWorkbook(path)){//Shee1页面varworksheet1=workbook.Worksh......
  • OpenCV从入门到精通实战(七)——探索图像处理:自定义滤波与OpenCV卷积核
    本文主要介绍如何使用Python和OpenCV库通过卷积操作来应用不同的图像滤波效果。主要分为几个步骤:图像的读取与处理、自定义卷积函数的实现、不同卷积核的应用,以及结果的展示。卷积在图像处理中,卷积是一种重要的操作,它通过将图像与一个小的矩阵(称为卷积核或滤波器)进行运算......
  • 裸金属 GPU 上线!DigitalOcean 提供单用户独享H100资源
    对于需要直接控制硬件,需要更强性能的AI开发者来讲,DigitalOcean已经为你们准备好了更适合的GPU服务器——DigitalOcean基于NVIDIAGPU的裸金属服务器。这些服务器特别设计用来应对最复杂的AI和机器学习任务,无论是大规模的模型训练还是高度定制的基础设施设置,都能轻......
  • C++异常
    目录1.C语言传统的处理错误的方式2.C++异常概念3.异常的使用1.异常的抛出和捕获2.异常的重新抛出3.异常安全4.异常规范4.自定义异常体系5.C++标准库的异常体系6.异常的优缺点1.C语言传统的处理错误的方式        传统的错误处理机制:终止程序,如assert,缺......
  • SpringBoot源码-spring boot启动时配置properties和yml文件解析过程以及spring.profil
    1.当我们启动一个SpringBoot项目的时候,入口程序就是main方法,而在main方法中就执行了一个run方法。@SpringBootApplicationpublicclassStartApp{ publicstaticvoidmain(String[]args){ //test SpringApplication.run(StartApp.class); }} publicstati......
  • 基于社群分化与新兴技术融合的社群运营优化策略:以链动 2+1 模式、AI 智能名片及 S2B2C
    摘要:本文围绕社群运营中社群分化这一关键环节展开深入探究,剖析如何有效管控社群规模、促进用户形成“小圈子”以实现有序高效运营。同时,创新性地引入链动2+1模式、AI智能名片以及S2B2C商城小程序源码等前沿元素,研讨它们与社群运营各流程的深度融合策略,旨在借助技术赋能与......