C语言 已知三角形的三角度A B C,及斜边长 求三角形直角两边长

已知三角形角度变量 A B C 斜边变量F 求剩余两边长度

各位达人这怎么写?都说很简单 但我一直没搞懂 能否帮小弟写这段代码 必将满分表示感谢!

的确很简单,以下代码假设角A = 36度
那么因为是直角三角形,所以:
AC = cos(A) * AB
BC = sin(A) *AB

#include <stdio.h>
#include <math.h>
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);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-05-04
题与图不配啊,题目未指出该三角形为直角三角形。对于一般的三角形,可利用三角形面积公式求解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 <stdio.h>
#include <math.h>
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);
}
第2个回答  2012-05-04
补充楼上:cos(double angle),sin(double angle) 这些是<math.h>里的库函数,所以楼上用cos(),sin()之前才#include<math.h>。

把main()函数写成int类型是个好习惯,即把void main() 改为 int main() 再在程序末尾加上return 0; 吧。
相似回答