linux c下求已知三条边的三角形的面积
2018-01-25 23:16
337 查看
首先使用的算法有两种:
1.用余弦定理求出一个角的余弦,然后求出正弦角A,然后用s=1/2*(a*b*sinA)来求面积;
2.直接用海伦公式,p=(a+b+c)/2,s=sqrt(p*(p-a)*(p-b)*(p-c));
然后写完的代码如下:
#include<stdio.h>
#include<math.h>
void main()
{
float p=0,a=0,b=0,c=0,ss=0,s=0;
printf("请输入三条边:");
scanf("%f %f %f",&a,&b,&c);
p=(a+b+c)/2;
ss=p*(p-a)*(p-b)*(p-c);
s=sqrt(ss);
printf("三角形的面积是%f\n",s);
}然后编译的时候注意了,要使用gcc -o *.o *.c -lm
gcc编译器不能直接连接到libm.so这个数学库,而且到/usr/include的math.h文件里面找不到sqrt这个函数的声明,g++可以直接编译(还不知道为什么),常用的库链接还有 posix线程,要用-lpthread。
1.用余弦定理求出一个角的余弦,然后求出正弦角A,然后用s=1/2*(a*b*sinA)来求面积;
2.直接用海伦公式,p=(a+b+c)/2,s=sqrt(p*(p-a)*(p-b)*(p-c));
然后写完的代码如下:
#include<stdio.h>
#include<math.h>
void main()
{
float p=0,a=0,b=0,c=0,ss=0,s=0;
printf("请输入三条边:");
scanf("%f %f %f",&a,&b,&c);
p=(a+b+c)/2;
ss=p*(p-a)*(p-b)*(p-c);
s=sqrt(ss);
printf("三角形的面积是%f\n",s);
}然后编译的时候注意了,要使用gcc -o *.o *.c -lm
gcc编译器不能直接连接到libm.so这个数学库,而且到/usr/include的math.h文件里面找不到sqrt这个函数的声明,g++可以直接编译(还不知道为什么),常用的库链接还有 posix线程,要用-lpthread。
相关文章推荐
- 百科知识 已知三角形三条边长,如何求解三角形的面积
- 已知三角形的三条中线长度求面积
- (海伦公式)已知三角形三条边长,求面积
- (海伦公式)已知三角形三条边长,求面积
- 任意输入三条边(a,b,c实型),若能构成三角形,则计算并输出其面积,否则输出标志“No Triangle!”。
- c语言:任给三条边长,判断能否构成三角形,如果能,求出其面积和周长
- 已知三角形三点坐标,求三角形的面积
- 已知三角形的三条边长,求这个三角形的外接圆的半径
- 大一上C语言期末复习: 输入三角形三条边长,求周长和面积。注意要保证3边能构成三角形
- 关于已知三角形三点坐标求三角形面积
- 已知三点坐标求三角形面积
- 已知三角形的三边,求三角形的面积
- C语言-根据输入的三角形的三条边判断三角形的类型,并输出它的面积和类型
- 已知两边长求三角形面积
- UVA 10347 Medians(已知三角形3中线长求面积)
- 问题三十四: 任意输入三条边(a,b,c实型),若能构成三角形,则计算并输出其面积,否则输出标志“No Triangle!”。
- 编写函数,已知三角形三边长,求三角形面积
- 农田开发 NOJ (已知N个点选取3个求最大三角形面积问题)
- 已知三角形的三条边求三角形…