使用系统中的方法计算三角形的面积.数学课(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));
}
}
}
通过调用Math.Cos
和Math.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))
如果angle
是side1
和side2
之间的夹角