的确很简单,以下代码假设角A = 36度
那么因为是直角三角形,所以:
AC = cos(A) * AB
BC = sin(A) *AB
#include
#include
void main()
{
double AB = 5;
double pi = 3.1415926;
double A = 36*pi/180;
double AC, BC;
AC = AB*cos(A);
BC = AB*sin(A);
printf("AC = %f BC = %f\n", AC, BC);
}
题与图不配啊,题目未指出该三角形为直角三角形。对于一般的三角形,可利用三角形面积公式求解S=(1/2)absinC;
设角A、B、C的对边为a, b, c。于是 2S=a*b*sinC=b*c*sinA=a*c*sinB,其中已知A, B, C和某边(假设为c),
则a=c*sinA/sinC; b=c*sinB/sinC.
#include
#include
void main()
{
double a,b,c,A,B,C;
prinft("Enter three angles A, B, Cin dgree:\n");
scanf("%f %f %f",&A,&B,&C);
printf("Enter the edge:\n");
scanf("%f",&c);
a=c*sin(pi*A/180)/sin(pi*C/180); //算正弦前转化为弧度
b=c*sin(pi*B/180)/sin(pi*C/180);
printf("BC = %f , AC = %f\n", a, b);
}
补充楼上:cos(double angle),sin(double angle) 这些是
把main()函数写成int类型是个好习惯,即把void main() 改为 int main() 再在程序末尾加上return 0; 吧。