使用系统中的方法计算三角形的面积.数学课(c#)

本文关键字:三角形 系统 方法 计算 | 更新日期: 2023-09-27 18:17:51

我正在学习c#,发现了这个实践问题:

写一个程序,计算三角形的面积,给出如下条件:两条边的长度及其夹角(提示:side-angle-side)

我知道如何在c#中找到三角形的面积,如果我有底和高,我知道有一种方法可以使用。math类中的。cos方法来获得我需要的余弦值。然而,我的程序似乎不喜欢我正在使用的语法。对于如何在。math类中实现方法来解决像这样需要用户输入边、角度和另一边的几何问题,我有什么建议吗?

我知道公式是C ^2 = a^2 + b^2 - 2ab * cos(y)//其中y =角度

这是我到目前为止所做的,我认为这将使我明白我要做的事情:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace day_of_the_week
{
    class Program
    {
        static void Main(string[] args)
        {
            double side1;
            double side2;
            double angle;
            Console.WriteLine("Enter one side length.");
            side1 = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Enter the other side's height.");
            side2 = Convert.ToDouble(Console.ReadLine());
            Console.WriteLine("Enter the value of the angle.");
            angle = Convert.ToDouble(Console.ReadLine());
            double thirdside = Program.thirdside(side1, side2);
            Console.WriteLine(thirdside);
            Console.ReadLine();
            }
      public static double thirdside(double side1, double side2, double angle)
        {
            return (side1*side1 +  side2*side2 - 2*side1*side2.Cos(angle));
        }
        }
    }

使用系统中的方法计算三角形的面积.数学课(c#)

通过调用Math.CosMath.Sqrt实现您的函数,如下所示:

public static double rad(double deg)
{
    return deg * Math.PI / 180;  
}
public static double thirdside(double side1, double side2, double angleDeg)
{
    double angleRad = rad(angleDeg);
    return Math.Sqrt(side1*side1 + side2*side2 - 2*side1*side2*Math.Cos(angleRad));
}

请记住,您可能想要以度为单位输入角度。但Math.Cos接受以弧度为单位的角度,因此进行转换。

问题中的代码忽略了对表达式取平方根。

需要指定类别。这就是Math.Cos(angle)。还可以使用Math.Pow(side1, 2)来平方数字

注意三角形的面积是

0.5*side1*side2*sin(toRadians(angle))

如果angleside1side2之间的夹角