using System;
namespace _3
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("请输入两个角度值:");
string m = Console.ReadLine();
string n = Console.ReadLine();
double p = Convert.ToDouble(m);
double q = Convert.ToDouble(n);
double c1 = p * Math.PI / 180;
double c2 = q * Math.PI / 180;
double a = Math.Sin(Math.Abs(c1) + Math.Abs(c2));
double b = Math.Sqrt(Math.Cos(Math.Abs(c1 + c2)));
Console.WriteLine("结果为:{0}", a/b);
}
}
}
请输入两个角度值:
20
30
结果为:0.9554769579502546
请输入两个角度值:
45
46
结果为:NaN
将 Math.PI / 180强制转换为int型之后再进行运算
输入任何一个数值,都可以返回对应的结果
double b = Math.Sqrt(Math.Cos(Math.Abs(c1 + c2)))
改一下
因为 cos(91 * Math.PI / 180)
的值为负值 (-0.0174524)
改成 double b = Math.Sqrt(Math.Abs(Math.Cos(c1 + c2)))
或者就加个判断,如果 c1 + c2
的值大于等于90度,就不输出