已知三边求三角型的面积,作为C语言程序设计课程的一个题目,必然是不超纲的。
在数学上,学生应该能够用高中的知识加以解决。
如下图所示,已知三角形三条边a、b、c,只要知道 c 边上的高h,那么面积 s=c*h/2
要想知道h,知道sin(a)即可,而sin(a)可以通过cos(a)计算得到,cos(a)可以由余弦定理得到。
下面,我们用余弦定理求三角形的面积。
由此,求三角型的面积为
s=b*sin(a)*c/2
其中:sin(a)=sqrt(1-cos(a)*cos(a)).// sqrt :square root, 平方根的意思。
程序如下:
#include<stdio.h>
#include "math.h"
int main(void)
{
double a,b,c,s,cosa,sina;
scanf("%Lf%Lf%Lf",&a,&b,&c);
cosa=(b*b+c*c-a*a)/2/b/c;
sina=sqrt(1-cosa*cosa);
s=b*c*sina/2;
printf("%.6f\n",s);
return 0;
}
注:在普通教学的过程中,往往是不具有创新性的,老师给出的问题基本都可以用现有的知识加以解决。
面对问题,你要学会思考,如何寻找与问题相关的理论知识,并应用到该问题。
保有健康的体魄和旺盛的精力,才能维持思维的敏捷,多年以来存储在你脑细胞中的信息才有可能呼之即出。
这是鄙人亲身得到的教训,没有身体,难以发展。
每天锻炼一小时,为国工作五十年。
朴实的语言蕴含着极大的真理。