C++ 如何获得正确的公式结构,以获得程序c+中的边c+;?

C++ 如何获得正确的公式结构,以获得程序c+中的边c+;?,c++,C++,我做了一个关于如何得到三角形的边c的程序。程序运行正常,但计算结果有点错误。我试图输入a=5,b=5,以及角度C=90。答案是8.50904,但基于谷歌,答案应该是7.07。我使用C++ BTW和DEV C++。 float a, b, c, C, Angle; cout << "Enter the value of side a: "; cin >> a; cout << "Enter the value of side b: "; cin >>

我做了一个关于如何得到三角形的边
c
的程序。程序运行正常,但计算结果有点错误。我试图输入
a=5
b=5
,以及角度
C=90
。答案是
8.50904
,但基于谷歌,答案应该是
7.07
。我使用C++ BTW和DEV C++。
float a, b, c, C, Angle;

cout << "Enter the value of side a: ";
cin >> a;
cout << "Enter the value of side b: ";
cin >> b;
cout << "Enter the value of angle C: ";
cin >> C;

Angle = cos(C);

c=sqrt(pow(a,2)+pow(b,2) - (2 * (a * b) * Angle));

cout << "The value of side c is " << c;
return 0;
浮动a、b、c、c、角度;
cout>a;
cout>b;
cout>C;
角度=cos(C);
c=sqrt(功率(a,2)+功率(b,2)-(2*(a*b)*角度);

cout函数
cos
的输入角度以弧度为单位,当
C=90 rad
时,
cos(90)
的结果约为
-0.4480

所以从这个角度来看,
c
的结果是
8.50904
,这是正确的


您应该将输入角度从度转换为弧度,以获得正确的输出。

您的公式是错误的。如果要计算斜边(与90度角相反):


尝试键入
double
,然后查看。它仍然是相同的角度以度或弧度为单位?角度应为度。我应该具体说明吗?我该怎么做?请注意有关参数的段落。记住弧度=度*π/180。对不起,我想我误解了这里的大多数人。我将角度C设置为90度。a面缺失,用户必须输入b面、C面和C角才能获得C面。@Richard你确定吗?“用户必须输入b侧、c侧和c角才能得到c侧”;然后你会计算出输入端的
c
?!不,C和C是不同的。C代表角度,C代表侧面。程序需要计算c面,而用户必须输入b面、a面和c角的值。很抱歉误解。@Richard无论如何,我建议将您的程序分成几部分,以便于开发和测试。很抱歉,我不是在计算微积分。如果我是对的,这就是余弦定律。程序必须得到c,而用户必须输入b面c的值和角度c.(“得到c,而用户必须输入b面c的值”):你是说“a”吗??记住:cos(90度)=0/
H = sqrt ((a * a) + (b * b));
H = sqrt(25 + 25);
H = 7.07;