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

devtools/2024/11/27 13:04:27/

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

例如: 

输入: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.ppmy.cn/devtools/137392.html

相关文章

html+css+js打字游戏网页

1. 效果 2. html代码 <!doctype html> <html><head><meta charset"utf-8" /><title>打字练习</title><!--引入第三方动画库--><link rel"stylesheet" href"animate.css"><style>html {h…

网站布局编辑器前端开发:设计要点与关键考量

一、设计说明 &#xff08;一&#xff09;功能模块 可视化操作区域 这是用户进行网站布局设计的主要画布。通过拖放各种页面元素&#xff08;如文本框、图片、按钮、导航栏等&#xff09;到该区域&#xff0c;用户能够直观地构建网站页面的布局结构。支持对元素的实时缩放、旋…

【Linux】网络通信

TCP协议是一个安全的、面向连接的、流式传输协议&#xff0c;所谓的面向连接就是三次握手&#xff0c;对于程序猿来说只需要在客户端调用connect()函数&#xff0c;三次握手就自动进行了。先通过下图看一下TCP协议的格式&#xff0c;然后再介绍三次握手的具体流程。 TCP的三次握…

Wireshark抓取HTTPS流量技巧

一、工具准备 首先安装wireshark工具&#xff0c;官方链接&#xff1a;Wireshark Go Deep 二、环境变量配置 TLS 加密的核心是会话密钥。这些密钥由客户端和服务器协商生成&#xff0c;用于对通信流量进行对称加密。如果能通过 SSL/TLS 日志文件&#xff08;例如包含密钥的…

C#中面试的常见问题008

1.内存泄露 内存泄露的原因&#xff1a; 未释放动态分配的内存&#xff1a;在使用malloc、new等动态内存分配函数后&#xff0c;未能正确释放内存。引用计数错误&#xff1a;在引用计数管理内存的语言中&#xff0c;增加引用计数但未相应减少&#xff0c;导致内存无法释放。循…

鸿蒙HarmonyOS系统相机Camera相关API使用

HarmonyOS下Camera相机相关API使用 准备工作 1. 导入camera接口 import { camera } from kit.CameraKit; import { BusinessError } from kit.BasicServicesKit; import { common } from kit.AbilityKit;2.获取cameraManager对象 getCameraManager(): camera.CameraManager…

【工作总结】2. 链路追踪与 APM 系统构建

文章目录 0. 一些资料收集1. 背景 0. 一些资料收集 感谢开源社区资料&#xff0c;写在前面。 什么是 APM 系统&#xff1f;如何设计与实现&#xff1f; 1. 背景 近期&#xff0c;云原生微服务这块的业务搭建的差不多了。针对一些历史技术债准备拉出来解决。我这边就负责 链…

Vue.js基础——贼简单易懂!!(响应式 ref 和 reactive、v-on、v-show 和 v-if、v-for、v-bind)

Vue.js是一个渐进式JavaScript框架&#xff0c;用于构建用户界面。它专门设计用于Web应用程序&#xff0c;并专注于视图层。Vue允许开发人员创建可重用的组件&#xff0c;并轻松管理状态和数据绑定。它还提供了一个虚拟DOM系统&#xff0c;用于高效地渲染和重新渲染组件。Vue以…