C语言 编写函数,输入三角形三边之长,求三角形面积。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言 编写函数,输入三角形三边之长,求三角形面积。相关的知识,希望对你有一定的参考价值。
大家帮帮忙,谢谢。
以下是使用C语言编写函数,输入三角形三边之长,求三角形面积的代码:```c
#include <stdio.h>
#include <math.h>
// 根据三条边长度计算三角形面积
float triangleArea(float a, float b, float c)
float p, area;
p = (a + b + c) / 2; // 计算半周长
area = sqrt(p * (p - a) * (p - b) * (p - c)); // 使用海伦公式计算面积
return area;
int main()
float a, b, c;
float area;
printf("输入三角形的三条边长:
");
scanf("%f %f %f", &a, &b, &c);
// 判断输入是否合法
if (a + b <= c || a + c <= b || b + c <= a)
printf("输入的三条边长度不合法!
");
return 1;
area = triangleArea(a, b, c);
printf("该三角形面积为:%f
", area);
return 0;
```
代码中,我们首先在`triangleArea`函数中,根据输入的三条边长,使用海伦公式计算三角形的面积,并返回计算结果。
在`main`函数中,我们使用`scanf`函数从输入中获取三角形三条边的长度。接着,我们通过判断输入的三条边是否满足三角形的三边关系确定输入是否合法。如果输入不合法,程序就直接提示并退出。如果输入合法,我们调用`triangleArea`函数计算三角形的面积,并输出结果。
需要注意的是,我们在使用海伦公式计算三角形面积时,首先需要计算三角形的半周长,然后使用`sqrt`函数计算面积的平方根。因此需要包含头文件`math.h`。
运行结果如下:
```
输入三角形的三条边长:
3 4 5
该三角形面积为:6.000000
``` 参考技术A #include<stdio.h>
#include<math.h>
float area(float a,float b,float c);
int main()
float a,b,c,s;
scanf("%f%f%f",&a,&b,&c);
if(a>0&&b>0&&c>0&&a+b>c&&a+c>b&&b+c>a)
s=area(a,b,c);
printf("%.2f\n",s);
else
printf("Error!\n");
return 0;
float area(float a,float b,float c)
float s,area;
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
return area;
参考技术B 求三角形面积。根据网上的搜索结果,我可以使用海伦公式来计算三角形面积,即S=sqrt(p*(p-a)(p-b)(p-c)),其中p=(a+b+c)/2。以下是一个可能的函数实现:
#include <stdio.h>#include <math.h>// 定义一个函数,输入三个浮点数作为三角形的边长,返回三角形的面积double triangle_area(double a, double b, double c) // 判断是否能构成三角形
if (a + b > c && a + c > b && b + c > a) // 使用海伦公式计算面积
double p = (a + b + c) / 2; double s = sqrt(p * (p - a) * (p - b) * (p - c)); return s;
else // 不能构成三角形,返回-1表示错误
return -1;
int main() // 测试函数
double a, b, c; printf("请输入三边长度:\n"); scanf("%lf %lf %lf", &a, &b, &c); double s = triangle_area(a, b, c); if (s > 0) printf("三角形面积为:%.2f\n", s);
else printf("不能构成三角形!\n");
return 0;
C语言编程,已知三角形的三边长a,b,c,计算求三角形面积的公式为:
s=1/2(a+b+c),area=根号下[s(s-a)(s-b)(s-c)]
要求编写程序,从键盘输入a,b,c的值,计算并输出三角形的面积。
[提示:程序运行时应保证输入的a,b,c值满足三角形成立的条件,这样计算得到的三角形面积才有意义。另外,将面积计算的数学公式写成合法的C语言表达式如下:
area = sqrt(s*(s-a)*(s-b)*(s-c))
注意写成:
area = sqrt(s(s-a)(s-b)(s-c))
是不错误的。
将数学公式 = ,写成如下C语言表达式:
s = 0.5*(a+b+c)
程序代码如下:
#include <stdio.h>
#include <math.h>
int main()
printf("输入三个边长:\\n");
float a,b,c;
float s,area;
scanf("%f%f%f",&a,&b,&c);
s = (a+b+c)/2;
area = sqrt(s*(s-a)*(s-b)*(s-c));
if(a+b>c && b+c>a && a+c>b)
printf("面积是%.2f\\n",area);
else
printf("三条边无法构成三角形");
return 0;
扩展资料:
三角形具有以下性质:
1、三角形任意两边之和大于第三边,任意两边之差小于第三边。
2、在平面上三角形的内角和等于180°(内角和定理)。
3、在平面上三角形的外角和等于360° (外角和定理)。
4、三角形的三条角平分线交于一点,三条高线的所在直线交于一点,三条中线交于一点。
5、三角形的任意一条中线将这个三角形分为两个面积相等的三角形。
参考资料:百度百科-三角形面积公式
百度百科-三角形性质
参考技术A一、程序代码如下:
#include <stdio.h>
#include <math.h>
int main()
printf("请分别输入三角形边长,按回车:\\n");
float a,b,c;
float s,area;
scanf("%f%f%f",&a,&b,&c);
if(a+b>c && a+c>b && b+c>a) //判断是否可以构成三角形。
s=(a+b+c)/2;//计算半周长
area=sqrt(s*(s-a)*(s-b)*(s-c));//套用海伦公式,计算面积
printf("这个三角形的面积为%lf\\n", area);//输出结果
else printf("无法构成三角形\\n");//输入不合法,提示。
return 0;
二、将程序生产EXE文件后运行,或点击下图三角运行进行测试,如果程序编写正确,会弹出命令窗口。
三、窗口显示“输入三个边长”,这时就可以输入三个边长的数据了,输入一个边长,按回车输入下个一个边长,如果输入正确是三角形边长数据,显示三角面积。如下图所示:
四、在编程判断a,b,c的值能否构成一个三角形,若能构成三角形,则计算并输出三角形的面积,否则输出“不能构成三角形”。已知构成三角形的条件是:任意两边之和大于第三边。如下图所示:
扩展资料
一、此题是海伦公式在C语言中的应用,海伦公式是:
公式中a,b,c分别为三角形三边长,p为半周长,S为三角形的面积。
二、相传这个公式最早是由古希腊数学家阿基米德得出的,而因为这个公式最早出现在海伦的著作《测地术》中,所以被称为海伦公式。
中国宋代的数学家秦九韶在1247年独立提出了“三斜求积术”,虽然它与海伦公式形式上有所不同,但它完全与海伦公式等价,它填补了中国数学史中的一个空白,从中可以看出中国古代已经具有很高的数学水平。
三、海伦公式的提出为三角形和多边形的面积计算提供了新的方法和思路,在知道三角形三边的长而不知道高的情况下使用海伦公式可以更快更简便的求出面积,比如说在测量土地的面积的时候,不用测三角形的高,只需测两点间的距离,就可以方便地导出答案。
参考资料来源:百度百科-海伦公式
参考技术B1、公式:area = sqrt(s*(s-a)*(s-b)*(s-c))
2、代码:
printf("依次输入a,b,c(空格识别一个数):");
scanf("%f%f%f,",&a,&b,&c);
s=(float)0.5*(a+b+c);
area = (float)sqrt(s*(s-a)*(s-b)*(s-c));
printf("面积为:%f",area);
扩展资料
举例: a=3.67;b=5.43; c=6.21;
1、int main()
double a, b,c,s,area;//定义三角形的边长和面积
a=3.67;b=5.43;c=6.21;s=(a+b+c)/2;
2、area=sqrt(s*(s-a)*(s-b)*(s-c));//求三角形面积,sqrt表示求根号函数,
printf("a=%f\\tb=%f\\tc=%f\\n",a,b,c);//输出边长
printf("area=%f\\n",area);//输出面积
return 0;
参考资料
百度百科-C语言
#include<math.h>
void main()
float a,b,c,s,area;
printf("依次输入a,b,c(空格识别一个数):");
scanf("%f%f%f,",&a,&b,&c);
s=(float)0.5*(a+b+c);
area = (float)sqrt(s*(s-a)*(s-b)*(s-c));
printf("面积为:%f",area);
代码如上 很简单的 自己多动手本回答被提问者采纳 参考技术D #include<stdio.h>
int main()
float a,b,c;
float s,area;
printf("请分别输入a,b,c:");
scanf("%f%f%f",&a,&b,&c);
s=(a+b+c)/2;
if(a>0&&b>0&&c>0)
area=sqrt(s*(s-a)*(s-b)*(s-c));
if(a+b>c&&a+c>b&&b+c>a)
printf("%.2f",area);
else
printf("您输入的数据无法构成三角形!");
else
printf("您输入的数据无法构成三角形!");
printf("\n");
return 0;
以上是关于C语言 编写函数,输入三角形三边之长,求三角形面积。的主要内容,如果未能解决你的问题,请参考以下文章