1.用海伦公式求三角形的面积的程序代码怎么写(用C语言)
该程序经修改,调试无误:
#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c,s,area;
printf("请输入三角形的三边长:");
scanf("%f%f%f",&a,&b,&c);
s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a=%7.2f\nb=%7.2f\nc=%7.2f\ns=%7.2f\n",a,b,c,s);
printf("area=%7.2f\n",area);
}
2.C语言编写海伦公式
#include <stdio.h>
#include <math.h>
int main ()
{
double a,b,c,s,area;
printf("Enter a b c:");
// 因为是double类型的数据,要用lf
while(scanf("%lf %lf %lf",&a,&b,&c)!=EOF)
{
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("area=%lf",area);
}
return 0;
}运行结果:
3.海伦公式怎样写,
编辑本段原理简介 中国宋代的数学家叶汇淳也提出了“三斜求积术”,它与海伦公式基本一样。
假设在平面内,有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得: S=√[p(p-a)(p-b)(p-c)] 而公式里的p为半周长: p=(a+b+c)/2 —————————————————————————————————————————————— 注1:"Metrica"(《论》)手抄本中用s作为半周长,所以 S=√[p(p-a)(p-b)(p-c)] 和S=√[s(s-a)(s-b)(s-c)]两种写法都是可以的,但多用p作为半周长。 —————————————————————————————————————————————— 由于任何n边的多边形都可以分割成(n-2)个三角形,所以海伦公式可以用作求多边形面积的公式。
比如说测量土地的面积的时候,不用测三角形的高,只需测两点间的距离,就可以方便地导出答案。 编辑本段证明过程证明⑴ 与海伦在他的著作"Metrica"(《度量论》)中的原始证明不同,在此我们用三角公式和公式变形来证明。
设三角形的三边a、b、c的对角分别为A、B、C,则余弦定理为 cosC = (a^2+b^2-c^2)/2ab S=1/2*ab*sinC =1/2*ab*√(1-cos^2 C) =1/2*ab*√[1-(a^2+b^2-c^2)^2/4a^2*b^2] =1/4*√[4a^2*b^2-(a^2+b^2-c^2)^2] =1/4*√[(2ab+a^2+b^2-c^2)(2ab-a^2-b^2+c^2)] =1/4*√[(a+b)^2-c^2][c^2-(a-b)^2] =1/4*√[(a+b+c)(a+b-c)(a-b+c)(-a+b+c)] 设p=(a+b+c)/2 则p=(a+b+c)/2,p-a=(-a+b+c)/2,p-b=(a-b+c)/2,p-c=(a+b-c)/2, 上式=√[(a+b+c)(a+b-c)(a-b+c)(-a+b+c)/16] =√[p(p-a)(p-b)(p-c)] 所以,三角形ABC面积S=√[p(p-a)(p-b)(p-c)]。
4.C语言编写海伦公式
#include
5.java 海伦公式编程
你好,我按照你的要求写的如下代码,也给足了注释,可以直接运行:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.logging.Level;
import java.util.logging.Logger;
public class JavaApplication1 {
public static void main(String[] args) {
System.out.println("请输入三角形的3条边长,每次回车表示一次输入:");
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
try {
int[] a = new int[3];
for (int i = 0; i < 3; i++) {
a[i] = Integer.parseInt(in.readLine());//获得3条边的长
}
if ((a[0] + a[1] > a[2]) && (a[1] + a[2] > a[0]) && (a[0] + a[2] > a[1])) {//判断是否构成三角形,根据两边之和>;第三边
int p = (a[0] + a[1] + a[2]) / 2;//求得p=(a+b+c)/2
System.out.println("三角形的面积为:" + Math.sqrt(p * (p - a[0]) * (p - a[1]) * (p - a[2])));//根据海伦公式S=√[p(p-a)(p-b)(p-c)]
} else {
System.out.println("输入的三条边,不能构成三角形。");
}
} catch (Exception e) {
System.out.println("输入的三条边,不能构成三角形。");
} finally {
try {
in.close();
} catch (IOException ex) {
Logger.getLogger(JavaApplication1.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
}
6.C语言海伦公式
#include<math.h>#include<stdio.h>main(){float a,b,c,p,s;printf("chang kuan gao shi ?");scanf("%f%f%f",&a,&b,&c);//;注意p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c));printf("mian ji shi:%f",s);}最后吐一下糟,这个英语水平,实在是,现在都有在线字典了啊。
7.用海伦公式求三角形的面积的程序代码怎么写
#include <stdio.h>
#include <math.h>
#define s ((a+b+c)/2)
void main()
{
float a,b,c;
double area;
scanf("%f%f%f",&a,&b,&c);
//验证是不是三角
if(a>=b+c || b>=a+c || c>=a+b)
printf("error\n");
else
{
area=sqrt((double)(s*(s-a)*(s-b)*(s-c))); //求面积
printf("%f\n",area);
}
}
8.C语言编程:用海伦公式求面积
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,p,s,max,min;
printf("请输入a,b,c三个数:");
scanf("%lf%lf%lf",&a,&b,&c);
max=(((a>b)?a:b)>c?((a>b)?a:b):c);
min=(((a<b)?a:b)<c?((a<b)?a:b):c);
p=(1/2)*(a+b+c);
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf("a,b,c三个数中最大的是:%d\n",max);
printf("a,b,c三个数中最小的是:%d\n",min);
printf("三角形的面积为:%.3f\n",s);
return 0;
}
9.有C++类编写海伦公式
#include <iostream>
using namespace::std;
class HaiLun
{
public:
double getArea(double a,double b,double c)
{
double p=(a+b+c)/2;
return sqrt(p*(p-a)*(p-b)*(p-c));
}
};
void main()
{
double a,b,c;
cout<<;"输入a,b,c,计算面积:"<<endl;
cin>>a>>b>>c;
HaiLun h;
cout<<;"面积是:"<<h.getArea(a,b,c)<<endl;
system("pause");
}
转载请注明出处育才学习网 » 海伦公式编程中怎么写